用歌珥解决vue。js django跨域调用

  

跨源资源共享(歌珥)跨域资源共享是一份浏览器技术的规范,提供了Web服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是JSONP模式的现代版。与JSONP不同,歌珥除了得到要求方法以外也支持其他的HTTP要求。用歌珥可以让网页设计师用一般的XMLHttpRequest,这种方式的错误处理比JSONP要来的好。另一方面,JSONP可以在不支持歌珥的老旧浏览器上运作。现代的浏览器都支持歌珥。

  

引入django-cors-middleware   

pip安装django-cors-middleware
在settings.py中添加,注意:不添加的话无法生效

  

INSTALLED_APPS=(

corsheaders,
)
添加中间件监听

  

中间件=[

corsheaders.middleware.CorsMiddleware,
django.middleware.common.CommonMiddleware,
,
)
配置允许跨域访问的域名

  

CORS_ORIGIN_ALLOW_ALL=False
CORS_ORIGIN_WHITELIST=(
“google.com”,
' hostname.example.com '
)
默认值是全部:

  

CORS_ORIGIN_WHITELIST=()
或者定义允许的匹配路径正则表达式。

  

CORS_ORIGIN_REGEX_WHITELIST=(^ (https://) ? (\ w +。) ?在google.com的美元,)
默认值:

  

CORS_ORIGIN_REGEX_WHITELIST=()
设置允许访问的方法:

  

CORS_ALLOW_METHODS=(
“得到”,
“POST”,
“放”,
“补丁”,
“删除”,
'选项'
)
设置允许的标题:

  

默认值:

  

CORS_ALLOW_HEADERS=(
x-requested-with,
- type,
“接受”,
“起源”,
“授权”,
' x-csrftoken '
)

用歌珥解决vue。js django跨域调用