0

嗨,我想将 html 响应发送回 ajax 调用,并且在 IE9 及更低版本之外一切正常

问题是

当我从服务器发送这个

$response = array("<p>hello</p>");
echo json_encode($response);

ajax 调用接收这个

["<p>hello&lt;\/p&gt;"]</p> 

带有错误消息:

script1014 无效字符

它在末尾添加了额外的关闭 p 标签。在其他浏览器中它工作正常

IE10 示例:

["<p>hello<\/p>"] 

注意:我使用的是 jQuery 表单插件。

4

2 回答 2

2

您应该说您正在将 html 回显到 json 编码中的 html 标头中。确定在您的最终回显前面添加这一行 - header('content-type: application/json');

header('content-type: application/json');
echo json_encode($response);

未经测试希望它能解决您的错误

于 2013-07-27T22:30:52.803 回答
0

其实拉姆说的是对的。

在 Internet Explorer 中,它经常下载文件而不是在浏览器中查看它们。如果您要在 Firefox 或 Chrome 中测试代码,它们会将 JSON 显示为正确的结果。

此代码确实有效:

<?php
$response = array("<p>hello</p>");
header('content-type: application/json');
echo json_encode($response);
?>
于 2013-07-28T03:05:26.450 回答