使用sanic 框架 用vue-axiso发出请求在Chrome 的console 中报 Access to XMLHttpRequest at ‘http://xxxxxxxx' from origin ‘null’ has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response. 和 ‘Access-Control-Allow-Origin’ 跨域问题
主要是chrome的安全限制跨站请求需要同源,或者就需要在服务端设置返回头以允许跨站请求。在sanic中,之间用中间件方法,对请求和返回进行统一添加头,对post前的option预检请求进行相应即可,具体代码片段:
1 |
|
参考资料:
跨域资源共享 CORS 详解 : http://www.ruanyifeng.com/blog/2016/04/cors.html
Sanic 中间件 和 监听器 :https://sanic-cn.readthedocs.io/zh/latest/sanic/middleware.html#