CORS解决跨域问题后,ajax无法获取服务器自定义的header信息

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名称的描述如下

有关header名称的描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值