rror: SecurityError: метод запроса не разрешен - XMLHTTPRequest - NodeJS - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь выполнить запрос на получение и установить новый заголовок запроса, используя XMLHTTPRequest, однако я продолжаю получать ошибку 405.Это, вероятно, CORS, но я перепробовал много вещей без удачи.

Ошибка: SecurityError: Метод запроса не разрешен. Я использую пакет NPM XMLHTTPRequest

My get request:
const cjURL = 'https:URL';
const cjKey = 'Key'

let header = new Headers();
let xmlRHeader = new  XMLHttpRequest();
xmlRHeader.open().setRequestHeader('authorization', 'value');
header.append('Content-Type', 'application/xml; charset=utf-8');
header.set('autorization', `${this.cjKey}`);
let req = new Request(cjURL, {
  method: 'GET',
  headers: header,
  mode: 'cors'

});


fetch(req)
.then ( (response) => {
  if(response !== null){
    return response;
  } else {
    throw new Error('Bad HTTP Request');
  }
})
.then ( (jsonData) => {
  console.log(jsonData);
})
.catch ((err) => {
  console.log('error', err.message);
});

1 Ответ

0 голосов
/ 07 июня 2018

Я наконец получил запрос, который мне был нужен, не беспокоясь о CORS.Для этого я использовал следующий код:

const cjURL = 'URL-адрес веб-службы'

xhr - это переменная, назначенная для XMLHTTPRequest ().Вы должны использовать открытый, а затем указать метод.В этом случае мне нужен метод GET.Если после этого вы установите метод как true, он станет асинхронным.

Далее, поскольку мой веб-сервис требовал, чтобы я указал заголовок REQUEST.Я добавил заголовок запроса с помощью setHRequestHeader.Примечание: Вы можете установить заголовок запроса только после ОТКРЫТИЯ и до ОТПРАВКИ.

Затем я хочу проверить каждый статус моего запроса от 1-4, чтобы проверить возврат каждого состояния. Просмотреть все состояния готовности здесь

Дополнительную документацию по этому вопросу можно найти в этой документации.

const xhr = new XMLHttpRequest();
xhr.open('GET', cjURL, true);

xhr.setRequestHeader('authorization', cjKey)

xhr.onreadystatechange = function (){
  if(this.readyState == 4 && this.status == 200){
   console.log(xhr.responseText);
  } else if (this.readyState == 3){
    console.log('3')
    console.log(xhr.responseText);
  } else if (this.readyState == 2){
    console.log('2')
    console.log(xhr.responseText);
  } else if (this.readyState == 1){
    console.log('1')
    console.log(xhr.responseText);
  } 
}

xhr.send();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...