跨域问题,写在中间件中
跨域问题:
-同源策略(浏览器的安全策略)
-只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了
-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中配置中间件
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。