首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON Strings onclick函数

JSON Strings onclick函数
EN

Stack Overflow用户
提问于 2020-10-13 18:00:43
回答 1查看 196关注 0票数 0

晚上好,我正试图通过onclick属性发送一个编码的JSON。

不幸的是,这个JSON包含有许多撇号和引号的铰接式字符串。正如您所理解的,JSON关闭了onclick属性的引号。

编辑1

这是由ajax加载的jquery的“返回”,而且json对于项来说显然是不同的,所以我无法创建一个DataTables (如果我错了,请纠正我)。

我需要这个getJsonObj()函数来打开一个包含所有信息的模型

代码语言:javascript
复制
{data: null,
        render: function (data, type) {
          const json = JSON.stringify(data);
          console.log(json);
          return `<a onclick="event.preventDefault();getJsonObj(${json})"style='cursor: pointer' id='modalApp' class='orange-link uk-text-bold uk-text-uppercase'>${data.full_name}</a>`;
        },
}

这是输出:

有什么办法可以毫无问题地寄出去吗?

编辑2

我不使用任何框架,只使用javascript、jquery和Jquery数据

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-13 18:05:31

您正在将字符串放入HTML中,因此需要对其进行HTML转义。具体来说,在您的示例中,来自JSON字符串的引号正在关闭来自HTML属性的引号。使用下面的函数,您的JSON中的引号将被&quot;替换

代码语言:javascript
复制
function escapeHtml(unsafe) {
  return unsafe
    .replace(/&/g, "&amp;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;")
    .replace(/"/g, "&quot;")
    .replace(/'/g, "&#039;");
}

<a onclick="event.preventDefault();getJsonObj(${escapeHtml(json)})"style='cursor: pointer' id='modalApp' class='orange-link uk-text-bold uk-text-uppercase'>${data.full_name}</a>

请参阅Can I escape html special chars in javascript?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64340677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档