CORS解决跨域问题后,ajax无法获取服务器自定义的header信息
2018-11-14 16:50
696 查看
Django + Vue 前后分离,利用CORS解决跨域问题后,ajax无法获取服务器自定义的header信息
服务端有时需要把自定义信息(token)放到response header中返回,在浏览器网络菜单里,可以看到所有的response header信息,包含服务端自定义的header信息。但是前端获取自定义信息(token)为null,服务端在response header中添加自定义信息(token)的同时,添加如下信息:
#token为自定义信息的 键 "Access-Control-Expose-Headers": "token"
Django下解决方案如下
问题描述
Django编写工程时,实现前后端分离,前端使用的Vue + ajax ,服务端有时需要把自定义信息(token)放到response header中返回,方法如下
在views函数下添加:
#将返回信息赋予一个对象 obj = HttpResponse("这是响应的信息") #添加response header 信息,键为:token, 值为:123456 obj.__setitem__("token", "123456") #返回这个对象 return obj
此时在浏览器网络菜单里,可以看到所有的response header信息,包含服务端自定义的header信息。但是前端ajax获取自定义信息(token)为null
解决方案
服务端在response header中添加自定义信息(token)的同时,添加如下信息
"Access-Control-Expose-Headers": "token"
django添加方法如下
在views函数下添加:
obj.__setitem__("Access-Control-Expose-Headers", "token")
有关header名称的描述如下
相关文章推荐
- dhl:ajax无法跨域改用getJSON(解决服务器返回json数据中文为乱码的问题$.ajaxSetup({ scriptCharset: "utf-8" , contentType: "application/json; chars)
- 跨域无法获取自定义header的问题
- 解决ajax、js无法跨域向服务器请求数据的问题
- 解决Zabbix自定义用户参数无法获取到数据的问题
- 通过ajax访问Tomcat服务器web service接口时出现No 'Access-Control-Allow-Origin' header问题的解决办法
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题)
- ajax请求json类型无法跨域传递cookie的问题解决
- cors解决ajax跨域问题
- ajax自定义header跨域访问webapi 405异常的解决方法
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题)
- mui中 ajax无法跨域问题解决方案
- java后台设置可跨域访问,前端ajax获取json数据,解决浏览器限制跨域访问的问题
- ajax跨域 自定义header问题总结
- 关于解决无法获取AJAX中无法获取XML返回的问题
- 解决ajax跨域请求的问题-cors(资源共享方案)
- php解决ajax无法跨域的问题
- ie-9 以下ajax无法跨域的问题。只要add:jQuery.support.cors=true;即可
- asp.net(C#)通过WMI无法获取磁盘卷序列号(硬件信息)的问题解决办
- header头信息解析以及CORS 跨域 access-control-allow-headers 的问题
- UITableView获取cell的row值(解决自定义cell里的button通过点击无法获得cell的indexpath的问题