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):


blob.png


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


blob.png


设置cookie

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


CORS_ORIGIN_ALLOW_ALL = True

CORS_ALLOW_CREDENTIALS = True


blob.png



2 个回复 | 最后更新于 2018-01-19
2018-01-19   #1

            Util.ajax({

                method: "POST",

                data: {},

                url: "http://sczk.med100.cn/api/admin/checkAccountAccess",

                xhrFields: {

                    withCredentials: true

                }

            }, function (data) {


            })


2018-01-19   #2

                xhrFields: {

                    withCredentials: true

                }


一定要加上面的代码


登录后方可回帖