javascript - vue.js 和 axios 使用但无法在 response.headers 中接收 set-cookie
问题描述
我尝试从 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,
响应正确,但标题没有不同
在开发者工具中如下: 开发者工具响应头
注意:在邮递员上,我得到了 set-cookie,但在应用程序上没有得到响应。
我尝试了所有与 Axios 和 Vue js 相关的东西,但仍然没有在标头中获取 set-cookies。
解决方案
实际上,您将request
&混淆response
在一起。正如@jonrsharpe在评论部分所说,标题以前缀开头Access-Control-
are Response Headers
,这意味着它应该由服务器发送到浏览器作为响应。但是在这里,您是从客户端将其发送到服务器。
您应该在服务器端应用程序中启用它。不在客户端。
推荐阅读
- javascript - 不能让它重演 html5 canvas 问题与 javascript
- python - 从 UID 获取游戏名称
- laravel - Laravel 在 Azure Web App for Linux 上速度太慢了
- python - 为什么 Altair 条形图中最左边的条不尊重选择画笔位置?
- pandas - 根据列值创建列 - 循环列
- elasticsearch - 如果/何时随时间变化,是否有一种快速且可扩展的方式让 Elasticsearch 在已定义/查询的结果上触发事件?
- r - 如何在数据框列中存储“米上标减 3”
- android - 如何忽略 Parent Layout 的背景
- java - PreferenceFragmentCompat 未显示 XML 中的所有首选项
- c# - 如何在c#中的每批请求中保持5秒的间隔