Yii2.0有自己的一套防止跨域调用的机制,网上一搜一大把的解决方式,无非就是:
use yii\filters\Cors;
public function behaviors()
{
return ArrayHelper::merge([
[
'class' => Cors::className(),
'cors' => [
'Origin' => ['http://www.myserver.net'],
'Access-Control-Request-Method' => ['GET', 'HEAD', 'OPTIONS'],
],
],
], parent::behaviors());
}
其中,把Origin改成 'Origin'=>['*'] 就可以了,但事实证明,还是不行的。
或者改nginx服务器的配置,增加:
location / {
add_header Access-Control-Allow-Origin *;
}
这样也还是不行的~
那为啥利用Postman或者直接网页请求都可以,但是在html使用ajax请求远程接口是不行的,大概原因是因为ajax的http请求类型区别于以上的请求,ajax的http请求会多一个属性:“X-Requeste