Как правильно передать 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 есть очень хорошая штука в виде получения кода текущего запроса на нужном языке программирования:

введите сюда описание изображения

введите сюда описание изображения

введите сюда описание изображения

→ Ссылка