4

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

在我的名为“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'); ?>

我真的需要一些帮助

4

2 回答 2

6

试着放

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

代替

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

事情是在创建 url 你需要把控制器 ID 而不是控制器全名。

如果它不起作用,您可以尝试两者,Explicacao/ajaxRequest或者explicacao/ajaxRequest因为您的溃败可能区分大小写,具体取决于您的 conf

于 2012-11-20T13:25:16.270 回答
-1

试试这个

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

这将获取当前 URL 的路径名

于 2018-06-12T12:39:28.487 回答