Я просто пытаюсь отправить некоторые параметры urlencoded через GET-запрос, используя fetch
. Я просто пытаюсь напечатать параметры, используя Express на данный момент, например так:
app.get('/api', function (req, res) {
console.log(req.body);
res.sendStatus(200);
return;
});
Это прекрасно работает в Postman с использованием пар GET-запроса и x- www-form-urlencoded ключ-значение. Веб-сервер будет печатать все пары ключ-значение просто отлично.
Но когда я пытаюсь использовать fetch
, чтобы сделать то же самое, я получаю только проблемы. Я пробовал два разных метода:
fetch(`http://localhost:3000/api?user=test&password=123`, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
});
Запрос выполняет go с помощью этого метода, но веб-сервер печатает только {}
- пустой объект.
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
var urlencoded = new URLSearchParams();
urlencoded.append("user", "test");
urlencoded.append("password", "123");
var requestOptions = {
method: 'GET',
headers: myHeaders,
body: urlencoded,
};
fetch("localhost:3000/api", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Запрос не go при использовании этого метода, и браузер выдает мне ошибку TypeError: Window.fetch: HEAD or GET Request cannot have a body.
Этот код был сгенерирован с использованием запроса , который работает в Postman с использованием параметра создания фрагментов кода.
Что я делаю не так?