来自responseText的innerHTML:如何替换特殊字符?

时间:2019-05-09 18:29:48

标签: javascript php escaping character

我正在调用一个AJAX api,该API返回这样的预格式化HTML字符串:

"<table class=\"table\"><thead><tr><th rowspan=\"2\">Hor\u00e1rio <\/th><th colspan=\"2\">
...
</table>"

所以在我的JavaScript代码中,我只想打印此表:

document.getElementById("container").innerHTML = this.responseText;

但是显示如下:

wrong html table

请注意,双引号在那里,特殊字符不正确,并且由于这些反斜杠字符,不能关闭诸如 th 之类的标签。

如何摆脱这种情况并正确显示表格?有一些执行此操作的javascript方法,还是一些PHP方法? (我也是这个API的开发者)

obs:我没有使用jquery;

1 个答案:

答案 0 :(得分:1)

服务器似乎将字符串编码为JSON,这将添加所有转义符。因此,请尝试使用JSON.parse()

document.getElementById("container").innerHTML = JSON.parse(this.responseText);