json_encode()无法返回html

时间:2014-01-10 21:55:55

标签: javascript php jquery json

我正在尝试将一些代码片段从php返回到jquery。一切正常,但是当我尝试使用<body><html>标签返回html时,我会在输出中获取我的javascript代码(原始代码)

这是我的代码:

$snippetData['snippetId'][] = $snippetId;
$snippetData['title'][] = $title;
$snippetData['description'][] = $description;
$snippetData['snippet'][] = $code;
echo json_encode($snippetData);

编辑:

为了更清楚这是我存储在这个数组中的内容:

snippedId = 5 (integer value)
title = 'some title'  (string value)
description 'some description' (string value)
snippet = '<html> <body> <title>some title </title> </body> </html>' (string value)

2 个答案:

答案 0 :(得分:4)

试试这个:

<?php echo json_encode($snippetData, JSON_HEX_QUOT | JSON_HEX_TAG);

Source

答案 1 :(得分:1)

似乎有问题“char。尝试在json中转义它们或在html上使用base64编码,

获取数据后,您可以对其进行解码。

即你将拥有:

JzxodG1sPiA8Ym9keT4gPHRpdGxlPnNvbWUgdGl0bGUgPC90aXRsZT4gPC9ib2R5PiA8L2h0bWw+Jw==

而不是

'<html> <body> <title>some title </title> </body> </html>'

解码时,你会得到你的代码片段