0

I am using Yii framework, I want to submit a form by sending some data from js to a php function without leaving the form page, how I can simply do that?

MD.MD
  • 708
  • 4
  • 14
  • 34

1 Answers1

2

if you want to know the Yii way to generate the ajax request a example would be like this,

In your view of the page sending the ajax request

Yii::app()->clientScript()->registerScript("someid",
    CHtml::ajax(array(
   'url'=>array('controller/action'),
   'type'=>'POST', //
   'dataType'=>'json',// or html
   'data'=>array(
    'js_id'=>'js:id', // you can bind js vars using js: prepend like this
            'php_id'=>$id, // or if the values are known at pageload you can use php vars like this
    ),
    'success'=>'js:function(json){
       //Do some thing here
     }'
       // Any other option supported by Ajax 
     )
   )
,CClientScript::POS_END); 
// POS_READY, POS_LOAD, POS_HEAD etc available depending on where and how you want load the script

Note this is not the simple or easy way of using ajax in a page, but this integrates with Yii, so it is useful, for example if you change routing logic for your app, all your routing in ajax is already taken care of, it is also easy to add CSRF tokens to your POST requests, etc using this method

Manquer
  • 7,390
  • 8
  • 42
  • 69