Невозможно получить данные из веб-службы ('http://localhost: 3000' заблокировано политикой CORS). Реагировать JS - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь получить данные из веб-службы с помощью метода React JS «fetch», но произошла та же ошибка, и теперь я использую XMLHttpRequest, но ошибка остается. Я также пробовал метод {mode: 'no-cors'}, но никогда не разрешал мою проблему, которая опубликована ниже:

Доступ к XMLHttpRequest по адресу "https: // ***" from origin "http://localhost: 3000 'заблокировано политикой CORS: Ответ на запрос предварительной проверки не проходит проверку контроля доступа: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Я попробовал оба метода, и их коды приведены ниже.

Метод 1: fetch () Code

 let sign_in = url
   let headers = new Headers();  
   headers.append('Content-Type', 'text/plain');
   headers.append('Accept', 'application/json');
   headers.append('Authorization', 'Basic ' + base64.encode(username + ":" + password));

  fetch(sign_in, {
      mode : 'no-cors' ,
      credentials: 'include',
      method: 'GET',
      headers: headers ,
    })
    .then(response => response.json())
    .then(json => console.log(json))
    .catch(error => console.log('Authorization failed : ' + error.message));

Метод 2: XMLHTTPRequest Code:

var xhr = new XMLHttpRequest();
xhr.open("GET", url, true , username , password);
xhr.setRequestHeader("X-Csrf-Token", "fetch")
xhr.setRequestHeader("Accept", "application/json")
xhr.setRequestHeader('Access-Control-Allow-Origin' , '*')
xhr.setRequestHeader("Access-Control-Allow-Headers",  "X-Requested-With")
xhr.withCredentials= true

xhr.onload = function (e) {
  console.log(xhr.responseText )
};
xhr.onerror = function (e) {
  console.error(xhr.statusText);
};

Looking жду положительных и эффективных решений :) Спасибо.

...