admin管理员组

文章数量:1300006

For some reason this doesnt work and I can't find a way to make it work!

on my controller named "ExplicacaoController" I have this:

public function accessRules()
...
'actions'=>array('index','view', 'test', 'ajaxrequest'),
...
public function actionAjaxRequest()
    {
      $val1 = $_POST['val1'];
      $val2 = $_POST['val2'];
      echo "something";

      Yii::app()->end();
    }

On my view I have:

<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)

      }
    });
...

What happens is that I allways get this error:

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

I really need some help with this

For some reason this doesnt work and I can't find a way to make it work!

on my controller named "ExplicacaoController" I have this:

public function accessRules()
...
'actions'=>array('index','view', 'test', 'ajaxrequest'),
...
public function actionAjaxRequest()
    {
      $val1 = $_POST['val1'];
      $val2 = $_POST['val2'];
      echo "something";

      Yii::app()->end();
    }

On my view I have:

<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)

      }
    });
...

What happens is that I allways get this error:

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

I really need some help with this

Share Improve this question edited Jan 25, 2014 at 6:35 talha2k 25.5k4 gold badges65 silver badges82 bronze badges asked Nov 20, 2012 at 12:50 user1772093user1772093 871 gold badge2 silver badges8 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 6

Try to put

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

instead of

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

The thing is in create url you need to put the Controller ID not the Controller full name.

If it's not working you could try both Explicacao/ajaxRequest or explicacao/ajaxRequest because your rout could be case sensitive depending on your conf

try this

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

This will get the path name of the current URL

本文标签: phpajax call controller in yii (javascript)Stack Overflow