2012-11-20 59 views
4

由於某種原因,這不起作用,我找不到一種方法使其工作!在Ajax呼叫控制器(javascript)

我控制器上命名爲 「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'); ?> 

我真的需要這個幫助

回答

6

嘗試把

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

代替

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

的事情是在創建網址,你需要把控制器ID不是控制器的全名。

如果它不工作,你可以嘗試兩種Explicacao/ajaxRequestexplicacao/ajaxRequest,因爲這取決於你的conf

+0

我已經嘗試過,但沒有工作 – user1772093

+0

我們可以看一下從配置你的URL規則的潰敗可能是區分大小寫?你試過'行動'=>數組('索引','視圖','測試','ajaxRequest'),把大寫的「ajaxrequest」? – darkheir