Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php yii(javascript)中的ajax调用控制器_Php_Javascript_Jquery_Ajax_Yii - Fatal编程技术网

Php yii(javascript)中的ajax调用控制器

Php yii(javascript)中的ajax调用控制器,php,javascript,jquery,ajax,yii,Php,Javascript,Jquery,Ajax,Yii,由于某种原因,这不起作用,我找不到一种方法使它起作用 在名为“ExplicacaoController”的控制器上,我有: public function accessRules() ... 'actions'=>array('index','view', 'test', 'ajaxrequest'), ... public function actionAjaxRequest() { $val1 = $_POST['val1']; $val2 = $_PO

由于某种原因,这不起作用,我找不到一种方法使它起作用

在名为“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)

      }
    });
...

...
$.ajax({
类型:“POST”,
url:“”,
数据:{val1:1,val2:2},
成功:功能(msg){
警惕(“成功”)
},
错误:函数(xhr){
警报(“失败”+xhr.readyState+this.url)
}
});
...
发生的情况是,我总是会遇到以下错误:

failure4<? echo Yii::app()->createUrl('explicacaoController/ajaxRequest'); ?>
failure4
我真的需要一些帮助

试着把

<? echo Yii::app()->createUrl('Explicacao/ajaxRequest'); ?>

而不是

<? echo Yii::app()->createUrl('explicacaoController/ajaxRequest'); ?>

问题是在创建url时,您需要输入控制器ID,而不是控制器全名

如果它不起作用,您可以同时尝试
Explicacao/ajaxRequest
Explicacao/ajaxRequest
,因为根据您的配置,您的路由可能区分大小写

url: $(location).attr('pathname') + '?r=anyControllerId/actionId',

这将获得当前URL的路径名

我们可以从配置中查看您的URL规则吗?您是否尝试过“actions”=>array('index'、'view'、'test'、'ajaxRequest'),并将“ajaxRequest”放在大写?