我前端采用vue,接口采用yii2,这样会有一个跨域问题,例如我提交一个post请求,前端请求的方式是options,导致yii2返回405了呢
yii2+vue前后端分离时的跨域问题
5
418
2017-10-30
urlManager配置一下当前请求的路由规则允许options操作试试
我是参照狼哥的restful那篇实战教程写的,现在rules配置如下:
访问create时,会返回错误
因为前段访问时先发送options请求,再发送一个post请求,我的login接口就没问题,如果把create改个名字叫add,访问也没问题,就是访问create的时候会报这个错误
检查下最终生效的urlManager配置,是否有被其他配置覆盖
我也有同样的问题,vue请求接口时报了 Failed to load http://xxxxx.xxxxx.top/v1/gov/list: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.168.50.230:8080' is therefore not allowed access.
一劳永逸的方法是配置nginx允许跨域 add_header "Access-Control-Allow-Origin" ; add_header 'Access-Control-Allow-Credentials' 'true'; add_header "Access-Control-Allow-Methods" ; add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X_Requested_With,If-Modified-Since,Cache-Control,Content-Type,Authorization,Content-Disposition' always;