在ajax响应文本中发送json字符串和html数据 - 如何?

时间:2012-06-05 18:58:08

标签: php javascript html ajax json

对于少量的文本信息(控制消息),我在ajax调用期间发送我称之为项目符号(与HTML注释相同的语法)和我的页面。例如

<!--Control Message--><html> all my page here</html>

然后在呈现页面之前解析出“子弹”......即使我不是真的必须这样做。

对于更多数据,比如5个变量,我计划对它进行json_encoding ...并将其与页面一起发送。

其他人如何从html划分和提取结构化数据/ json字符串。我可以把它放在像下面这样的“子弹”中并将其解压缩出来......但我的猜测是有更“合适”的方法来做到这一点。

<!--json string here--><html> all my page here</html>

2 个答案:

答案 0 :(得分:5)

如果您通过AJAX传递此信息,只需将HTML嵌入JSON中并将整个JSON解析:

{
    "html":"<html>...</html>",
    "other_data":...,
    "some_more_data":...
}

//access it later:
data.html
data.other_data
data.some_more_data

如果此数据加载了页面,请将数据存储在变量中:

<html>
    <head>
        <script>
            var data = <?= json_encode($data) ?>;

答案 1 :(得分:1)

如果数据与HTML具有上下文关系,最好将它们作为数据标签发送到HTML中吗?

<html data-value="{name:value}">
    <body>
        <div data-div="{name:value}">
    </body>
</html>