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'); ?>

問題は、コントローラーのフルネームではなくコントローラー ID を入力する必要がある URL の作成にあります。

うまくいかない場合は、両方を試すExplicacao/ajaxRequestexplicacao/ajaxRequest、構成によってはルートが大文字と小文字を区別する可能性があるため、

于 2012-11-20T13:25:16.270 に答える
-1

これを試して

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

これにより、現在の URL のパス名が取得されます

于 2018-06-12T12:39:28.487 に答える