跨域问题:

-同源策略(浏览器的安全策略)

-只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了

-cors#跨域资源共享:只要服务器实现了CORS,就可以实现跨域资源共享

-简单请求

-只发一次请求:HEAD,GET,POST


-非简单请求:POST指定发送数据的格式为json

-发两次请求:一次预检(OPTION请求),只有服务端允许发请求,才能继续发第二次正常请求,一次真正的请求

-服务端如何处理:

-写在中间件中:

fromdjango.utils.deprecationimportMiddlewareMixinclassMyCorsMiddle(MiddlewareMixin):defprocess_response(self,request,response):#简单请求:#允许http://127.0.0.1:8001域向我发请求#ret['Access-Control-Allow-Origin']='http://127.0.0.1:8001'#允许所有人向我发请求response['Access-Control-Allow-Origin']='*'ifrequest.method=='OPTIONS':#所有的头信息都允许response['Access-Control-Allow-Headers']='*'returnresponse


-在setting中配置中间件