繁体   English   中英

vue.js 和 axios 使用但无法在 response.headers 中接收 set-cookie

[英]vue.js and axios using but unable to receive set-cookie in response.headers

我试图从 Vue js coreui 主题调用外部 api 但无法在 response.headers 中接收 set-cookie

代码如下

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  axios.defaults.headers.common['Access-Control-Allow-Credentials'] = true;
  axios.defaults.headers.common['Access-Control-Allow-Origin'] = 'http://127.0.0.1:8000';
  axios.defaults.headers.common['Access-Control-Allow-Headers'] = 'X-PINGOTHER, Content-Type';
  axios.defaults.headers.common['Access-Control-Expose-Headers'] = 'Access-Token, Uid';
  axios.defaults.headers.common['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS';
    axios
    .post('url', 
    {
        par : '20'
    }, {
        withCredentials: true,
        })
    .then(function(response){
      console.log(response);
    })
    .catch(error => console.log(error))

我试图同时使用

axios.defaults.headers.common['Access-Control-Expose-Headers'] = 'Access-Token, Uid';

这和

withCredentials: true,

响应正确,但标题没有不同

控制台中的 response.headers

在开发人员工具中,如下所示:开发人员工具响应标头

注意:在 Postman 上我得到了 set-cookie,但在应用程序中没有得到响应。

我尝试了所有与 Axios 和 Vue js 相关的所有内容,但仍然没有在标头中获取 set-cookies。

实际上,您将requestresponse混为一谈。 正如@jonrsharpe在评论部分所说,标头以前缀Access-Control-开头是Response Headers ,这意味着它应该由服务器发送到浏览器作为响应。 但是在这里您是从客户端将其发送到服务器。

您应该在服务器端应用程序中启用它。 不在客户端。

请参阅此, Set-Cookie 不适用于浏览器,但适用于 Postman

暂无
暂无

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

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