2011-02-02 65 views
2

我有AA PHP页面从数据库中获取新的消息和JSON发送关于他们的报告是否有新邮件的正文会包含除了一些插入BRS(<br/>transmited HTML用PHP json_encode问题

当没有HTML收到JSON在JavaScript中我找到这个(<br/>)coverted所有BRS到(<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("\/","/")); 
+1

为什么你会在第一时间发送HTML作为JSON? HTML拥有自己的数据结构,不需要在其上再使用另一个数据结构。 – 2011-02-02 09:54:51

+0

我发送了很多部分[sender_name,mobile_number,sent_time,message_body] – ahmedsafan86 2011-02-02 14:20:46

回答

3

在JavaScript对象符号(JSON)斜线逃脱反斜杠,所以<br\/>是有效的JSON,<br/>不是。

如果你想使用JSON工作的重视,你必须对其进行解码:

result = JSON.parse(result); 
// or 
result = eval(result); // simple but maybe unsecure!