Как правильно передать x-www-form-urlencoded в fetch&?
С помощью Postman формирую следующий запрос:
в результате олучаю coockies, для дальнейших запросов. Но когда в своем скрипте js использую следующий код:
const formData = new URLSearchParams({
'dispatch[auth.login]': '',
user_login: creds.login,
password: creds.password,
return_url: 'https://baltikaonline.ru/index.php?dispatch=categories.view&category_id=9059',
redirect_url: 'index.php?dispatch=auth.baltika_login_form'
});
const authData = await fetch(
`https://baltikaonline.ru/index.php`,
{
method: "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formData
})
Не получаю нужных cookies. Подозреваю, что неверно передаю тело запроса. Пробовал передавать formData.toString() - не помогает. Что делаю не так? Спасибо.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Надо во-первых при отсылке данных поставить credentials
:
{
method: "POST",
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
body: formData
credentials: 'include', // возможно надо 'same-origin', а не 'include'
}
И получать ответ:
const response = await fetch...
console.log(response.headers.get('set-cookie'));
Кстати, у Postman есть очень хорошая штука в виде получения кода текущего запроса на нужном языке программирования: