IE中带有<img/>标记符的jQuery Ajax JSON响应

时间:2012-11-05 15:28:25

标签: javascript jquery ajax internet-explorer xhtml

我遇到了IE的问题(我在IE9中进行测试,但我相信它在以前的版本中也会表现相同)。

我从PHP发送的响应如下:

{"success":true,"content":"<img src=\"\/media\/page\/1528484482.jpg\" width=\"140\" height=\"140\" alt=\"1528484482.jpg\" \/>"}

它在Firefox,Chrome,Safari,Opera等中运行得非常好 - 但它在IE中不起作用。 响应是一个空对象。

当我将响应更改为以下内容时,它可以正常工作 - 唯一的区别是关闭img标记之前的正斜杠:

{"success":true,"content":"<img src=\"\/media\/page\/1528484482.jpg\" width=\"140\" height=\"140\" alt=\"1528484482.jpg\">"}

有没有办法解析'内容'响应,以免在IE中断?

1 个答案:

答案 0 :(得分:1)

(这是一个建议,不仅仅是一个解决方案) 单独的表示层(js / html [how])和域层(php [what])。

域层决定要返回的数据。 表示层决定数据的呈现方式。

返回图像路径,并使表示层决定如何向用户显示图像。


现在您的问题的解决方案将是doctype的声明。 我想问题是没有声明doctype,IE正在将XHMTL作为其默认文档类型 在XHTML中,必须正确关闭标记。 http://www.w3schools.com/tags/tag_img.asp

其他浏览器采用HTML5,我想,它不需要图像上的结束标记。