0

現在、次のコードを使用して、Ajax get リクエストをコントローラーに送信しています。

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

これは正常に機能し、コントローラーはリクエストを受け取り、それに応じてビューを更新します。

ここで、モデルのこのリクエスト属性を送信したいと思います。model->getAttributes();

どうすればいいですか?属性の JSON オブジェクトを作成し、それをリクエストと共に送信しますか?

4

1 に答える 1

2

必要に応じて「データ」属性と「タイプ」を渡すだけです。

echo CHtml::ajaxLink('clickMe', array('ajax'), array(
    'update' => '#results'
    'data' => CJSON::encode($model->attributes),
    'type' => 'post',
));

このコードは #results の内容を json に置き換えるだけです。別のものが必要な場合は、次のように「更新」の代わりに「成功」​​を使用してください。

echo CHtml::ajaxLink('clickMe', array('ajax'), array(
    'success' => 'function (response) {
            // do everything you need
    }',
    'data' => CJSON::encode($model->attributes),
    'type' => 'post',
));

詳細については、jquery ajaxオプションをご覧ください。

于 2012-06-17T18:24:25.727 に答える