由于某种原因,这不起作用,我找不到使其工作的方法!
在我的名为"ExplicacaoController"的控制器上,我有这个:
public function accessRules()
...
'actions'=>array('index','view', 'test', 'ajaxrequest'),
...
public function actionAjaxRequest()
{
$val1 = $_POST['val1'];
$val2 = $_POST['val2'];
echo "something";
Yii::app()->end();
}
在我看来,我有:
<script type="text/javascript">
...
$.ajax({
type: "POST",
url: "<? echo Yii::app()->createUrl('explicacaoController/ajaxRequest'); ?>",
data: {val1:1,val2:2},
success: function(msg){
alert("Sucess")
},
error: function(xhr){
alert("failure"+xhr.readyState+this.url)
}
});
...
发生的情况是我总是收到此错误:
failure4<? echo Yii::app()->createUrl('explicacaoController/ajaxRequest'); ?>
我真的需要一些帮助
尝试将
<? echo Yii::app()->createUrl('Explicacao/ajaxRequest'); ?>
而不是
<? echo Yii::app()->createUrl('explicacaoController/ajaxRequest'); ?>
事情是在创建 url 中,您需要输入控制器 ID 而不是控制器全名。
如果它不起作用,您可以尝试Explicacao/ajaxRequest
或explicacao/ajaxRequest
,因为您的路由可能区分大小写,具体取决于您的 conf
试试这个
url: $(location).attr('pathname') + '?r=anyControllerId/actionId',
这将获取当前 URL 的路径名