晚上好,我正试图通过onclick属性发送一个编码的JSON。
不幸的是,这个JSON包含有许多撇号和引号的铰接式字符串。正如您所理解的,JSON关闭了onclick属性的引号。
编辑1
这是由ajax加载的jquery的“返回”,而且json对于项来说显然是不同的,所以我无法创建一个DataTables (如果我错了,请纠正我)。
我需要这个getJsonObj()函数来打开一个包含所有信息的模型
{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数据
发布于 2020-10-13 18:05:31
您正在将字符串放入HTML中,因此需要对其进行HTML转义。具体来说,在您的示例中,来自JSON字符串的引号正在关闭来自HTML属性的引号。使用下面的函数,您的JSON中的引号将被"替换
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
<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>https://stackoverflow.com/questions/64340677
复制相似问题