跨域请求(CORS)
全称"跨域资源共享"(Cross-origin resource sharing)
CORS需要浏览器和服务器同时支持,才可以实现跨域请求,目前几乎所有浏览器都支持CORS,IE则不能低于IE10。CORS的整个过程都由浏览器自动完成,前端无需做任何设置,跟平时发送ajax请求并无差异。so,实现CORS的关键在于服务器,只要服务器实现CORS接口,就可以实现跨域通信。
出现的原因:
前后端分离,导致前后端处在不同的域名上面
解决
1、安装 第三方扩展
2、添加应用
3、添加中间件
4、添加前端域名为白名单
CORS_ORIGIN_WHITELIST = [
'http://127.0.0.1:8080'
]
CORS_ALLOW_CREDENTIALS = True
#允许携带cookie
'corsheaders.middleware.CorsMiddleware',
请求类型:
CORS分为简单请求和非简单请求(需预检请求)两类
符合以下条件的,为简单请求
请求方式使用下列方法之一:
GET
HEAD
POST
Content-Type 的值仅限于下列三者之一:
text/plain
multipart/form-data
application/x-www-form-urlencoded