这是我的js代码:
var durl = "<?php echo Yii::$app->getUrlManager()->getBaseUrl(); ?>/Site/ReqAJAX";
$.ajax({
type: "POST",
url: durl,
data: {_csrf:'<?=\Yii::$app->request->csrfToken?>'},
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(msg) {
alert("Success "+msg);
},
error: function(err) {
alert(JSON.stringify(err));
}
});
这是我得到的错误:
答案 0 :(得分:0)
我通常在PHP中创建JS而不是相反的方式,并在JS块中分配我需要的所有必需变量以提高可读性。它通常可以帮助我更容易地找到错误。此外,我使用Yii2 UrlManager来创建网址,而不是JS,因为这将确保网址是正确的。 (当然,正确设置;)
也许这有助于找到问题。
<?php
$url = Url::to(['/site/req-ajax']);
$data = json_encode([Yii::app()->request->csrfTokenName => Yii::app()->request->csrfToken]);
$js =<<<JS
$.ajax({
type: "POST",
url: "$url",
data: $data,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function(msg) {
alert("Success "+msg);
},
error: function(err) {
alert(JSON.stringify(err));
}
});
JS;
$this->registerJs($js);