如何从js发送数据而不离开当前网址?

时间:2014-06-21 16:20:49

标签: javascript php yii

我正在使用Yii框架,我想通过从js发送一些数据到php函数而不离开表单页面来提交表单,我怎么能这样做呢?

1 个答案:

答案 0 :(得分:2)

如果您想知道生成ajax请求的Yii方式,示例将是这样的,

在您发送ajax请求的页面视图中

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

注意这不是在页面中使用ajax的简单或简单方法,但这与Yii集成,因此它很有用,例如,如果您更改应用程序的路由逻辑,所有已经处理了ajax中的路由,使用此方法向您的POST请求等添加CSRF令牌也很容易