[英]Cross domain error on Ajax call, Yii2
這是我的探針的簡化版本。
我嘗試對特定的控制器/操作url進行查看,並期望json響應進行簡單的ajax調用。
視圖/圖稿/ajax.js
ajaxRequest = $.ajax({
type: "post",
dataType: 'json',
url: "/index.php?r=artwork/search",
data: { "globalSearch": "somesearchterm" }
});
與請求相對應的操作(在本例中為actionSearch
)只需返回參數的值globalSearch
作為響應即可。
控制器/ArtworkController.php
public function actionSearch()
{
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = Response::FORMAT_JSON;
$sterm = Yii::$app->$request->post('globalSearch');
$res = array(
'logicresult' => $sterm,
'success' => true,
);
return $res;
}
}
但是,我遇到了一個jQuery跨域錯誤。 我做錯了什么?
Chrome控制台日志
POST http://localhost/index.php?r=artwork%2Fsearch 500 (Internal Server Error)
n.ajaxTransport.k.cors.a.crossDomain.send @ jquery.min.js:4
n.extend.ajax @ jquery.min.js:4handleAjaxLink @ajax.js:19
n.event.dispatch @ jquery.min.js:3
n.event.add.r.handle @ jquery.min.js:3
500(服務器內部錯誤)表示服務器方面出現了問題。
這不是跨域錯誤。 錯誤在您的PHP代碼中。
您忘記為if條件添加close }
(按照操作問題actionSearch
代碼中提到的AS進行操作)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.