博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用CORS 解决vue.js django跨域调用
阅读量:6190 次
发布时间:2019-06-21

本文共 1032 字,大约阅读时间需要 3 分钟。

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

引入 django-cors-middleware

pip install django-cors-middleware

在 settings.py中添加,注意:不添加的话无法生效

INSTALLED_APPS = (

...
'corsheaders',
)
添加 中间件 监听

MIDDLEWARE = [

...
'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 = (

'GET',
'POST',
'PUT',
'PATCH',
'DELETE',
'OPTIONS'
)
设置允许的header:

默认值:

CORS_ALLOW_HEADERS = (

'x-requested-with',
'content-type',
'accept',
'origin',
'authorization',
'x-csrftoken'
)

转载于:https://blog.51cto.com/aaronsa/2071108

你可能感兴趣的文章
python1
查看>>
我的友情链接
查看>>
数据恢复软件(二):用C++重写恢复BMP位图文件的小程序
查看>>
洛谷——P1894 [USACO4.2]完美的牛栏The Perfect Stall
查看>>
lvm简明教程
查看>>
关于java的System.arraycopy()方法
查看>>
当全能明星“邂逅”惠普激光一体机
查看>>
LVS haproxy nginx 负载均衡软件对比
查看>>
我的友情链接
查看>>
虚拟机安装苹果系统的教程
查看>>
多线程与网络之cookies
查看>>
OpenLayers添加点【php请求MySQL数据库返回GeoJSON数据】
查看>>
我的友情链接
查看>>
SSH密钥登陆linux服务器注意事项
查看>>
HttpClient的基本用法
查看>>
该怎么学好C语言
查看>>
nginx+keepalived+php+memcached+repcached
查看>>
Mysql主从复制之一主一从
查看>>
solrconfig
查看>>
Windows 8 Pre-BETA中设置Metro菜单背景
查看>>