我想在 Yii2 RESTful 中使用 React,我创建了一个像这样的用户控制器:
<?php
namespace app\controllers;
use yii\rest\ActiveController;
class UsersController extends ActiveController
{
public $modelClass = 'app\models\User';
}
当浏览器中的打开链接显示我的用户时,当我想axios
在 React 中使用时,我在浏览器控制台中收到错误消息:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost/rest/web/users. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
但是当我检查network
firefox 开发人员工具时,我发现 axios 请求和它的状态为 200 并正确接收响应。
我尝试behaviors
在我的控制器中使用函数,如下所示:
public function behaviors()
{
return [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
'cors' => [
'Origin' => ['*'],
'Access-Control-Request-Method' => ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],
'Access-Control-Request-Headers' => ['*'],
],
],
];
}
但得到错误
Invalid Argument – yii\base\InvalidArgumentException 响应内容不能是数组。
我该如何解决这个问题?