ajax call controller in yii (javascript)
15,615
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
Author by
user1772093
Updated on August 15, 2022Comments
-
user1772093 over 1 year
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
-
darkheir over 11 yearsCould we see your url rules from the config? And did you try 'actions'=>array('index','view', 'test', 'ajaxRequest'), putting upper case for "ajaxrequest" ?