Javascript方法赢得';由于令牌无效或意外,无法执行
我的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
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>