Django配置Ajax跨域调用/设置Cookie
By 水木神風
at 2018-01-19 • 0人收藏 • 3867人看过
前端单纯的想要通过ajax跨域调用后端提供的API是比较简单的,可谓是前人栽树,后人乘凉,ottoyiu提供了解决Django跨域问题的插件django-cors-headers。
pip install django-cors-headers
然后在你的Django项目中的settings.py中做如下配置(install app和middleware):

要注意的是,CorsMiddleware最好放的尽可能的往上,比如要 在CommonMiddleware和WhiteNoiseMiddleware的上边,要不然设置的跨域响应头可能起不了什么作用。

设置cookie
前提是插件下载好了,并且install_app和middleware都配置了。如上边提到的,将CORS_ORIGIN_ALLOW_ALL设为false,通过白名单的方式设定允许跨域请求的请求源,然后再设置CORS_ALLOW_CREDENTIALS配置项为True,如下:
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True

2 个回复 | 最后更新于 2018-01-19
登录后方可回帖
Util.ajax({
method: "POST",
data: {},
url: "http://sczk.med100.cn/api/admin/checkAccountAccess",
xhrFields: {
withCredentials: true
}
}, function (data) {
})