由于某些原因,这不起作用,我找不到让它工作的方法!
名为“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'); ?>
我真的需要一些帮助
答案 0 :(得分:6)
尝试放
<? echo Yii::app()->createUrl('Explicacao/ajaxRequest'); ?>
而不是
<? echo Yii::app()->createUrl('explicacaoController/ajaxRequest'); ?>
问题在于创建网址,您需要将控制器ID设置为控制器的全名。
如果它不起作用,您可以同时尝试Explicacao/ajaxRequest
或explicacao/ajaxRequest
,因为根据您的情况,您的溃败可能区分大小写
答案 1 :(得分:-1)
试试这个
url: $(location).attr('pathname') + '?r=anyControllerId/actionId',
这将获取当前URL的路径名