Проблемы с изменением типа контента на Json (XMLHttpRequest) - PullRequest
0 голосов
/ 06 октября 2019
    let data = JSON.stringify({
    "from": "testnumber",
    "to": "testnumber",
    "text": "Test SMS."
});

let XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

let xhr = new XMLHttpRequest();

xhr.withCredentials = false;

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
        console.log(this.responseText);
    }
});


xhr.open("POST", "https://thaina.free.beeceptor.com", true);
xhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');
xhr.setRequestHeader('accept', 'application/json');

xhr.send(data);

не имеет значения, какие изменения я выполняю, тип контента всегда text / plain. Может быть, у вас есть какие-либо предложения?

бипептоз тест с этим кодом

beepceptor test with this code

1 Ответ

0 голосов
/ 06 октября 2019

node XMLHttpRequest, кажется, немного глючит

Используйте xhr.setRequestHeader('Content-Type', 'application/json; charset=utf-8');

Тогда это будет работать

Код в этом модуле, который вызывает проблему:

  if (!headers["Content-Type"]) {
    headers["Content-Type"] = "text/plain;charset=UTF-8";
  }

, который добавляет Content-Type после всех установленных вами заголовков - поскольку вы установили Content-type, это другой заголовок

Код должен был быть

  if (!headersCase["content-type"]) {
    headers["Content-Type"] = "text/plain;charset=UTF-8";
  }
...