Javascript方法赢得';由于令牌无效或意外,无法执行

Javascript方法赢得';由于令牌无效或意外,无法执行,javascript,Javascript,我的javascript方法在调用该方法时不会显示事件alert() 我正在传递一个json编码的值,我使用json\u encode() 这是我的生日礼物。值是我通过 然后我有一个javascript方法,它接受一个和一个json\u编码的值 function showEditModal(modalDivId,obj){ alert("test"); var modalBox = document.getElementById(modalDivId); var moda

我的javascript方法在调用该方法时不会显示事件
alert()

我正在传递一个json编码的值,我使用
json\u encode()
这是我的生日礼物。值是我通过

然后我有一个javascript方法,它接受一个
和一个
json\u编码的

function showEditModal(modalDivId,obj){
    alert("test");
    var modalBox = document.getElementById(modalDivId);
    var modalContentValues = document.getElementById("modalContentValues");
    modalBox.style.display = "block";
    var node = document.createElement("p");
    var text = document.createTextNode(obj); //shows [object Object]
    node.style.display = "inline";
    node.appendChild(text);
    modalContentValues.appendChild(node);
}
但当我将其作为onclick函数应用时,当我单击编辑时,什么也得不到

<td>
    <a href="#" onclick="showEditModal('modalBox',<?php echo json_encode($value); ?>)">Edit</a>
</td>
<a href="#" onclick=" showEditModal('modalBox','[{"id":2,"title":"Announcement 1","content":"Announcement 1 Content","dateAdded":"2018-04-24 14:44:27"}]'  ) " >Edit</a>

我希望你能帮忙。我一直在试图找出导致
showEditModal()
无法执行数小时的错误的原因。至少显示一个
警报()

可能是JSON格式不正确吗?或者我在这里遗漏了什么

下面是另一个截图


谢谢。

json\u encode($value)
替换为
json\u encode($value,json\u HEX\u APOS)
您需要对json进行编码,因为它包含应编码的
。您可以使用或对其进行编码



事件前后的双引号与JSON中的双引号相同。您需要更改/转义它们:
您需要在echo'之前对JSON进行htmlencode'ed@mplungjan谢谢。我尝试了你的建议,但仍然无法纠正错误。@NiyokoYuliawan你所说的HTML编码json是什么意思?你是说
json\u编码($value)
?我得到了
你能帮我摆脱这个问题吗?我无法修复它。从昨晚开始就一直在尝试。嘿!非常感谢。这是自昨晚以来最简单的解决方案。我不喜欢在这里和那里添加嵌套引号,这就是为什么我选择你的答案作为最佳答案。我喜欢使用方法来处理字符串,你可以解决我的问题在上用最少的代码编辑解决了我的问题。我很感激。
<a href="#" onclick=" showEditModal('modalBox','[{"id":2,"title":"Announcement 1","content":"Announcement 1 Content","dateAdded":"2018-04-24 14:44:27"}]'  ) " >Edit</a>
<td>
  <a
    href="#"
    onclick="showEditModal('modalBox',<?php echo htmlentities(json_encode($value)); ?>)"
  >Edit</a>
</td>