Удаление некоторых файлов cookie из вызова ajax с помощью Axios

#ajax #api #cookies #axios

#ajax #API #файлы cookie #axios

Вопрос:

Я использую Axios в браузере для вызова ajax-запроса. Теперь у меня проблема с некоторым файлом cookie, который имеет более высокий приоритет, чем какой-либо заголовок. Для каждого запроса я отправляю заголовок как AUTHTOKEN , но в SESSIONID ключе cookie хранится этот высокий приоритет, чем AUTHTOKEN заголовок. В каком-то сценарии мне нужно игнорировать cookie. Это мой код:

 axios({
    url:`${sdpBasicUrl}/api/v3/requests/27363`,
    method: 'get',
    headers: {
        'Content-Type': 'application/json'  
        'AUTHTOKEN': 'GHG23847923HGJ'               
    }
})
.then(res => {
    console.log(res.data);
});

 

и это образец файла cookie:

 _z_identity=true; PORTALID=1; csrfcookie=aasdasdjh24234b2bjh4hjl; SESSIONID=ffd68d32a14841c99905e3cf4897e15ec9b4777020854a76821fd7e1eab6db2dcab482eb4cfea2ce7f5a6c47c80271d09f608ed985004e5c85681b2939681b18
 

Что мне делать? Есть ли у вас какое-либо решение для решения моей проблемы?

Комментарии:

1. хорошо, итак, во-первых, вы не можете игнорировать файл cookie, это просто невозможно, вы можете создать или удалить файл cookie только для вашего домена. Таким образом, вы бы предпочли попытаться использовать этот api, например, для отключения пользователя.

Ответ №1:

Вы можете передавать файлы cookie через заголовок следующим образом:

 Axios.request({
     url: "http://example.com",
     method: "get",
     headers:{
         Cookie: "cookie1=value; cookie2=value; cookie3=value;"
     } 
}).then...
 

Поэтому, если вы не хотите, чтобы значение было там, вы можете переопределить значения.

https://github.com/axios/axios/issues/943

Ответ №2:

Вы можете использовать transformRequest для изменения заголовка для некоторых запросов. transformRequest позволяет изменять данные и заголовок запроса перед его отправкой на сервер. Это применимо только для методов запроса ‘PUT’, ‘POST’, ‘PATCH’ и ‘DELETE’.

 transformRequest: [function (data, headers) {
    // Modify the header here and return the header
    return data;
}],
 

Вы можете получить более подробную информацию об этом на https://axios-http.com/docs/req_config