Отправляю запрос вот так:
Код: Выделить всё
let url = 'http://amtg.local' + this.appUrl + '/routesapi/points'
axios.get(url, {
params: {id: 1},
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET,PUT,POST,DELETE,PATCH,OPTIONS',
'Access-Control-Allow-Headers': 'Origin, Accept, Content-Type, Authorization, Access-Control-Allow-Origin'
},
responseType: 'json',
})
Код: Выделить всё
class RoutesapiController extends ActiveController
{
public $modelClass = 'common\models\Points';
public $enableCsrfValidation = false;
public function behaviors() {
$behaviors = parent::behaviors();
$behaviors['corsFilter'] = [
'class' => \yii\filters\Cors::className(),
'cors' => [
// restrict access to domains:
'Origin' => [*],
'Access-Control-Request-Method' => ['POST', 'GET'],
'Access-Control-Allow-Credentials' => true,
'Access-Control-Request-Headers' => ['Origin', 'Content-Type', 'Accept', 'Authorization'],
'Access-Control-Max-Age' => 3600, // Cache (seconds)
'Access-Control-Allow-Origin' => ['*']
],
];
return $behaviors;
}
Код: Выделить всё
Failed to load http://site.local/admin/routesapi/points?id=1: Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.
Т.е. Build собирается как надо, и все работает, но это он делает очень долго.
А в режиме DEV - т.е. когда работает свой сервер мне удалось его запустить только на другом порту. т.е. site.local:8081 - и теперь запросы к REST Api Yii идут уже как бы на другой домен.