【发布时间】:2011-02-02 09:40:02
【问题描述】:
我有一个 php 页面来从数据库中检索新消息并在 json 中发送有关它们的报告,如果新消息其正文将不包含 html,除了一些插入的 brs (<br/>)
当在 javascript 中收到 json 时,我发现所有 brs 都从这个 (<br/>) 转换为 (<br\/>)
所以它的工作被禁用了
当我尝试使用其他 html 时
<?php
$a="<html><br/></html>";
echo $a,"\n";
echo "Normal: ", json_encode($a), "\n";
echo "Tags: ", json_encode($a,JSON_HEX_TAG), "\n";
echo "Apos: ", json_encode($a,JSON_HEX_APOS), "\n";
echo "Quot: ", json_encode($a,JSON_HEX_QUOT), "\n";
echo "Amp: ", json_encode($a,JSON_HEX_AMP), "\n";
echo "All: ", json_encode($a,JSON_HEX_TAG|JSON_HEX_APOS|JSON_HEX_QUOT|JSON_HEX_AMP), "\n\n";
?>
输出是这样的
<html><br/></html>
Normal: "<html><br\/><\/html>"
Tags: "\u003Chtml\u003E\u003Cbr\/\u003E\u003C\/html\u003E"
Apos: "<html><br\/><\/html>"
Quot: "<html><br\/><\/html>"
Amp: "<html><br\/><\/html>"
All: "\u003Chtml\u003E\u003Cbr\/\u003E\u003C\/html\u003E"
这是我第一次在 json 中发送 html,以前总是数据(纯文本)。 这是什么原因造成的,我该怎么做才能解决这个问题??????????
感谢所有试图提供帮助的人,因为我很快就需要它,我使用了这个
$("selector").html(result.messageBody.replace("\/","/"));
【问题讨论】:
-
一开始为什么要将 HTML 作为 JSON 发送? HTML 有它自己的数据结构,无需在其之上使用另一个数据结构。
-
我要发送很多部分 [sender_name ,mobile_number, sent_time, message_body]
-
The
/must be escaped in JSON. 但是您如何发送请求并处理对您来说有问题的响应?
标签: php javascript json