Jquery ajax解析来自json响应的html

时间:2013-08-21 20:35:22

标签: php jquery ajax json parsing

我需要在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网站”}

1 个答案:

答案 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);