我正在使用Yii框架,我想通过从js发送一些数据到php函数而不离开表单页面来提交表单,我怎么能这样做呢?
答案 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令牌也很容易