1

私は CakePHP を使用しており、MVC 標準を使用しています。

ajax を使用してリクエストを送信しており、ツイーターの応答と同じ方法で応答が必要です。以下のツイーターのサンプル応答を参照してください。

ツイーターが送信するように:

{
"user_id":"155dsfds95",
"html":" \u003Cdiv class=\"module profile-card component profile-header\" data-component-term=\"profile_follow_card\" \u003E\n ",
"screen_name":"abc"
}

ビューからコントローラーとuser_idコンテンツを送信する必要があります。screen_namehtml

私の応答データは次のとおりです。

$response['user_id'] = $id;
$response['screen_name'] = 'some_name';

今のところ、私は送信することがuser_idできscreen_nameますjson_encode($response)

dataしかし、応答とともにインデックス内のビュー コンテンツを送信するにはどうすればよいでしょうか。

アップデート

コントローラーでhtmlコンテンツを作成したくありません。ビューから取得する必要があります。

4

1 に答える 1

1

コントローラから現在のビューを簡単にレンダリングして、JSON応答を返すことができます。

実例:

public function index() {
    $response = $this->render();
    $data = array(
        'json_key_1' => 'value1',
        'json_key_2' => 123,
        'action_html' => $response->body()
    );
    $options = array(
        'type' => 'json',
        'body' => json_encode($data)
    );
    return new CakeResponse($options);
}
于 2013-03-11T14:45:22.957 に答える