하위 도메인에서 AJAX GET 요청을 주 도메인으로 보내려고합니다. 아래는 나의 AJAX 코드이다.Yii Framework 2.0에서 하위 도메인에서 주 도메인으로 요청 받기
$.get('http://my-yii2-website.com/controller/test-method',
{data: '1')},
function(returnedData){
alert(returnedData);
},
'json'
);
위의 코드는 하위 도메인에 있습니다. 메인 도메인에는 다음과 같은 컨트롤러와 액션 메소드가 있습니다.
public function behaviors()
{
$subDomain = 'http://subdomain.my-yii2-website.com';
return [
'corsFilter' => [
'class' => \yii\filters\Cors::className(),
'cors' => [
'Origin' => [$subDomain, ],
'Access-Control-Request-Method' => ['GET', ],
'Access-Control-Request-Headers' => ['*'],
'Access-Control-Allow-Credentials' => null,
'Access-Control-Max-Age' => 3600,
],
],
];
}
public function actionTestMethod()
{
$request = Yii::$app->request;
if($request->isAjax)
{
return json_encode('OK!');
}
else
{
return json_encode('ERROR');
}
}
작동하지 않습니다. 그러나 actionTestMethod()의 if 문으로 인해 요청을 AJAX 요청으로 보지 못합니다. 그것은 미리 정의 된 'ERROR'메시지를 반환합니다. 나는 Yii 프레임 워크 2.0으로 일하고있다.
입니다 다른 http : // my-yii2-website/controller/action 방법 및 http://subdomain.my-yii2-website.nl. 아약스 URL에서 .nl을 놓친 것일 수도 있습니다. – Panoptik
그냥 내 질문을 편집했습니다. 내 원래 코드에서 도메인 URL과 하위 도메인 URL이 올바른지 확인했습니다. POST 메서드를 올바르게 정의하는 동안 왜 이것이 잘못된 요청인지 이해하지 못합니다. –
다음 : cors 분기의 actions 배열이 잘못된 수준에 있습니다. cors와 actions 브랜치는 형제 여야합니다 – Panoptik