我需要在json响应中从html中选择一个id by div。
在服务器端:
ob_start();
extract($this->validate($this->data));
require("classes/View/". $this->view . ".phtml");
$content = ob_get_contents();
ob_end_clean();
header('Content-type: application/json');
echo json_encode(array(
'messages' => $this->data["messages"],
'content' => $content
));
在客户端:
$.ajax({
type: "POST",
url: o.url ,
dataType: "JSON",
data: o.ajax_data,
success: function(response) {
$("#mydiv").html($(response.content).find("#mydiv"));
}
});
之前,当我使用HTML作为dataType并且我返回纯HTML作为响应时,一切都运行正常。经过数小时的研究后,我无法找到正确的解决方案。 请有人帮帮我吗?
===更新1 ===
console.log(response.content)=> {“messages”:[],“content”:“完全转义的html网站”}
答案 0 :(得分:0)
您将#mydiv
(占位符元素作为响应)放入DOM占位符#mydiv
。
您可能想要做的是将响应中的#mydiv
内容放入占位符。
假设您的response.content
正确构成了html代码,这应该可行:
var content = $(response.content).find("#mydiv").html(); // get html of #mydiv in response
$("#mydiv").html(content);