kasa0421
如果你是APACHE服务器的话可以尝试在conf文件见里面配置header 试一下
Header always set Access-Control-Allow-Origin "*" Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS,DELETE" Header always set Access-Control-Allow-Credentials "true" Header always set Access-Control-Allow-Headers "Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With"
然后在我API认证的时候去除了对OPTIONS的请求的验证
if (Yii::$app->getRequest()->getMethod() !== 'OPTIONS') { .... }
你可以尝试这样配置下。另外就是我还做了一下将OPTIONS的请求都返回了200,让前端省去判断这个请求的返回结果。
是在.htacess里面写的rewrite:RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L]
如果有需要你可以试试
哦 我说的不太清楚;我是使用rewrite规则在apache这里吧OPTIONS的返回码405改成了200
RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L]
NGINX服务器的话也这样配置的
error_page 405 =200 @405; location @405 { root /www/html; #你vhost配置wwwroot }
如果你是APACHE服务器的话可以尝试在conf文件见里面配置header 试一下
Header always set Access-Control-Allow-Origin "*" Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS,DELETE" Header always set Access-Control-Allow-Credentials "true" Header always set Access-Control-Allow-Headers "Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With"
然后在我API认证的时候去除了对OPTIONS的请求的验证
if (Yii::$app->getRequest()->getMethod() !== 'OPTIONS') { .... }
你可以尝试这样配置下。另外就是我还做了一下将OPTIONS的请求都返回了200,让前端省去判断这个请求的返回结果。
是在.htacess里面写的rewrite:RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L]
如果有需要你可以试试
@shuzhiqian 是这样的如果你继承了 yii\rest\ActiveController,默认使用的是rest风格的请求格式,create方法默认约定使用post请求的,你可以再慢慢看下文章中的restfull web服务路由章节。可以override这个verbs方法 加上OPTIONS对create的请求,也有别的方法如 http://www.yiichina.com/question/3205 这个哥们回答的针对某个action的请求加上options请求的允许
- kasa0421 2017-10-30 已签到连续签到1天,获得了5个金钱
- kasa0421 回答了问题 yii2+vue前后端分离时的跨域问题
如果你是APACHE服务器的话可以尝试在conf文件见里面配置header 试一下
Header always set Access-Control-Allow-Origin "*" Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS,DELETE" Header always set Access-Control-Allow-Credentials "true" Header always set Access-Control-Allow-Headers "Authorization,DNT,User-Agent,Keep-Alive,Content-Type,accept,origin,X-Requested-With"
然后在我API认证的时候去除了对OPTIONS的请求的验证
if (Yii::$app->getRequest()->getMethod() !== 'OPTIONS') { .... }
你可以尝试这样配置下。另外就是我还做了一下将OPTIONS的请求都返回了200,让前端省去判断这个请求的返回结果。
是在.htacess里面写的rewrite:RewriteCond %{REQUEST_METHOD} OPTIONS RewriteRule ^(.*)$ $1 [R=200,L]
如果有需要你可以试试
- kasa0421 2016-11-22 已签到连续签到1天,获得了5个金钱
- kasa0421 2016-05-26 已签到连续签到1天,获得了5个金钱