繁体   English   中英

Axios 无法发送带有 cookie 的请求

[英]Axios cannot send request with cookie

我正在尝试从我的 api 中获取数据,我需要在 header 中传递一个 cookie。 我在 postman 上进行了测试,它可以工作,但我在我的代码中不起作用,返回错误是 403。任何想法我缺少什么?

谢谢

这是我的代码:

function LoadStudies() {

    const config = {
    
        headers: { 
            Cookie: '_ga=GA1.2.2139220028.1611912340;csrftoken=ADJBapIX3oLu3j8QHdD05zsJnDhzx0jDYtAjKV2GY0FkBzVNfdLY8xVMV1YF4Ibd;djdt=show;sessionid=0x40wumk8ehcb4boh6610pqud5wtqsjl;session_state=4f7e11af-abd0-4f9f-8357-611100821df3' 
        },
        withCredentials :true,
   
    }
    console.log(config)
    axios
        .get("https://Domain/api/study/", config)
        .then((response) => {
            console.log('working!')
        }).catch((error) => {
            console.log(error)
        });

}

LoadStudies();

(我假设你在浏览器中运行这个客户端,给定 tag:reactjs] 标签)。

Cookie是一个被禁止的 header 名称

您不能使用客户端 JavaScript 手动设置 header。 您必须有一个现有的 cookie(如果您有withCredentials: true则会发送该 cookie)。

如果您正在发出相同的来源请求,您可以通过document.cookie设置它,否则您将不得不发出 HTTP 请求( withCredentials: true )并让 API 设置 cookie(浏览器限制对第三方 Z55E7DDF3016CE24 可能会导致问题6AF16CE24虽然在这里)。


请注意,API 通常是无状态的,因此您尝试使用 Google Analytics ID、session ID 和 csrftoken 发送 cookies 是很奇怪的。 通常,您只会发送一个授权令牌,现在通常是JWT ,并且通常在Authorization header而不是 Cookie 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM