Django跨域问题
什么是跨域
'''
通常情况下,A网页访问B服务器资源时,不满足以下三个条件其一就是跨域访问
1. 协议不同
2. 端口不同
3. 主机不同
'''
Django解决跨域
'''
# 注册app
INSTALLED_APPS = [
...
'corsheaders'
]
# 添加中间件
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware'
]
# 允许跨域源,True时表示允许所有跨域源,一般都设置False,通过白名单允许部分跨域
CORS_ORIGIN_ALLOW_ALL = False
# 白名单,配置指定跨域域名
CORS_ORIGIN_WHITELIST = [
'http://www.luffy.cn:8080'
]
# 允许ajax请求携带cookie
CORS_ALLOW_CREDENTIALS = True
# 注:前台请求头携带参数,中间件拒绝Access-Control-Allow-Headers错误,中间件要设置 default_headers
from corsheaders import defaults
在 default_headers 中添加 '前端ajax请求头里面的字段名'
'''