使用ajax将模型属性发送到Yii控制器

时间:2012-06-17 16:30:33

标签: php ajax yii

我目前正在使用以下代码向控制器发送Ajax get请求:

echo CHtml::ajaxLink('clickMe', array('ajax'), array('update'=>'#results'));

这很好用,控制器接收请求并相应地更新视图。

现在,我想发送该模型的请求属性,即来自model->getAttributes();

我该怎么做?创建属性的JSON对象并将其与请求一起发送?

1 个答案:

答案 0 :(得分:2)

如果需要,只需传递'data'属性和'type':

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 options