我正在使用CakePHP并使用MVC标准。
我使用ajax发送请求,并且需要以与tweeter响应相同的方式响应,请参阅下面的tweeter示例响应。
像tweeter发送:
{
"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_name
,并从视图发送html
内容。
我的回复数据如下:
$response['user_id'] = $id;
$response['screen_name'] = 'some_name';
截至目前,我可以发送user_id
和screen_name
作为json_encode($response)
但是如何使用响应在data
索引中发送视图内容?
更新
我不想在控制器中制作html内容,而应该来自视图。
答案 0 :(得分: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);
}