我目前正在使用以下代码向我的控制器发送 Ajax 获取请求:
echo CHtml::ajaxLink('clickMe', array('ajax'), array('update'=>'#results'));
这工作正常,控制器接收请求并相应地更新视图。
现在,我想发送模型的这个请求属性,即来自model->getAttributes();
我该怎么做?创建属性的 JSON 对象并将其与请求一起发送?
如果需要,只需传递“数据”属性和“类型”:
echo CHtml::ajaxLink('clickMe', array('ajax'), array(
'update' => '#results'
'data' => CJSON::encode($model->attributes),
'type' => 'post',
));
此代码只是用 json 替换 #results 内容。如果您需要不同的东西,请使用“成功”而不是“更新”,如下所示:
echo CHtml::ajaxLink('clickMe', array('ajax'), array(
'success' => 'function (response) {
// do everything you need
}',
'data' => CJSON::encode($model->attributes),
'type' => 'post',
));
查看 jquery ajax选项以获取更多信息。