将html内容加载为json

时间:2011-04-13 07:54:44

标签: jquery html ajax json

我正在使用php& jQuery的。我使用ajax调用来加载从其他一些php页面获得的一些巨大的html内容。随着时间的推移它越来越慢,我明白问题在于,我必须将结果作为JSON返回。 HTML内容包含一些html内容及其中的一些事件

但是我应该怎么做呢。需要什么spl?

3 个答案:

答案 0 :(得分:3)

在返回html内容的PHP页面中,您可以执行以下操作:

// $html should contain the html code you want to return, e.g
// <table>...............</table>
$html = json_encode(array('html'=>$html));
echo $html;
die;

在javascript中,您可以执行以下操作:

function getHtml()
{
    $.getJSON("yourphpPage.php", function (result)
       {
           $("#yourHtmlDiv").html(result.html);
       }
     );
}

答案 1 :(得分:1)

你应该首先尝试了解json是什么。它只是分层信息的一种格式。与HTML不同,Json本身对该信息没有任何意义。例如,除非您手动处理它们并运行事件处理程序,否则不存在“事件”之类的事情。

但是,如果您可以将您的信息设置为json格式并且仍然有用,那么它很可能会占用更少的空间/带宽,加载甚至比html更快地解析。

阅读和解析json非常简单,因为它基于JavaScript。任何JSON代码也是有效的JavaScript,因此您可以使用eval解析它。但是,只有当您完全信任json的源不是恶意的时才应该这样做,因为在eval()中运行从请求中获得的任何东西都不是很安全。 如果您不完全信任输入,则可以使用例如http://api.jquery.com/jQuery.getJSON/

答案 2 :(得分:0)

如果我理解你的问题,你想要jSON中的返回数据然后简单地使用

jQuery.ajax({

              dataType:'json'
})