REST API получает 'null' от XMLHttpRequest - такой же запрос с почтальоном работает? - PullRequest
0 голосов
/ 22 мая 2019

У меня есть очень простой XMLHttpRequest, который выглядит так:

var requestBody = JSON.stringify(
{
   "parameter_1": ["940mbodmgpg04", "curnv_dsiofpe"],
   "parameter_2": {
        "sub_par": {
            "sub_par-entry":"en_489vb", 
            "sub_par-second-entry":"avop30kdm", 
            "toggler": ["ovofpvm235", "23rfdkvo_SDgop"]
            }
        }
}
);

var req = new XMLHttpRequest();
req.open("GET", "http://localhost:4000/api/fontstabilizer/vorq3", true);
req.setRequestHeader("Content-Type", "application/json");
req.onreadystatechange = function() {
    // do some stuff
};

req.send(requestBody);

Однако, когда я отправляю это в REST API, он получает null в качестве тела. Я протестировал точный requestBody JSON в Postman, выбрал application/json в качестве content-type и добавил url к конечной точке, и это сработало. Используя Postman, я смог подключиться к REST API (где я вижу, что мой объект JSON получен), а затем я получил необходимый ответ.

Я не понимаю, почему Почтальон работает нормально, но XMLHttpRequest нет. Использует ли Postman какую-то дополнительную обработку при отправке объекта JSON? Я что-то упустил в своем XMLHttpRequest?

Буду признателен за любые идеи, которые стоит попробовать!

1 Ответ

2 голосов
/ 22 мая 2019

Если метод запроса - GET или HEAD, параметр тела игнорируется, а тело запроса устанавливается равным нулю.

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