javascript - 在 html 标签内序列化 javascript 代码

标签 javascript json

我有一个 ajax 函数,它以 html 标记的内容作为 json 字符串进行响应,我将对其进行评估以从中创建一个对象。

现在只要 json 字符串里面没有 javascript,它就可以正常工作。但是,当我在字符串中包含一些简单的 javascript 时,当我尝试评估字符串时,我会得到 Uncaught SyntaxError: Unexpectedidentifier,尽管我转义了每个 '".

这是示例:http://jsfiddle.net/dCtA3/2/

当我删除 javascript 时:http://jsfiddle.net/dCtA3/3/它有效。

最佳答案

尝试使用正确的 JSON(如果您的 XHR 返回 JSON,请使用它,解析它,或者检查浏览器是否已经为您解析它(应该是 [response].innerhtml) )。将 jsfiddle 代码更改为:

var contents = JSON.stringify(
  {innerhtml : "<p onclick=\"javascript:alert('hello world');\"> click me! </p>"}
);

function insertContent() {
    document.getElementById("container")
        .innerHTML = JSON.parse(contents).innerhtml;
}​

[根据评论编辑]
请参阅this jsfiddle单击按钮时会模拟 json 请求。单击按钮后将显示字符串化的响应对象。

关于javascript - 在 html 标签内序列化 javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234661/

相关文章:

javascript - 用函数设置变量

java - Jackson 为同一类提供多个 ObjectMapper

python - 如何处理来自 binance websocket 的多流数据?

svn - JavaScript SVN 包装器

javascript - Node JS 中以字符串形式获取另一个程序的连续输出

javascript - 这个 dat.gui add 函数中的第三个参数的含义是什么?

javascript - 如何在 Ajax 调用中获得两个数组?

php - 如何在 suave webpart 中设置 Json 响应

javascript - 将 JSON 转换为字符串时如何解决此 Javascript 错误?

javascript - 如何使用多个相同的键但不同的值来解析这种类似 JSON 的结构?