我想将一个 php
数组传递给一个 jQuery
函数。
我尝试像这样将数组作为 json_encode
发送:
<button onclick='callFunction(<? echo json_encode($myArray); ?>)'></button>
我的 json_encode 数组的结果是:
{"Date":"2018-01-26 12:55:00","Details":"FORLI IT"}
一切正常。
但是如果我有这样的数组(带有'
)
{"Date":"2018-01-26 12:55:00","Details":"FORLI' IT"}
我的功能不再起作用 - 我的控制台将显示:
SyntaxError: Unexpected EOF
我该如何解决这个问题?
最佳答案
我建议您处理任何转到 html 的方法是:
<button onclick='callFunction(<? echo htmlentities(json_encode($myArray),ENT_QUOTES); ?>)'></button>
在 http://php.net/manual/en/function.htmlentities.php 检查所有可用的标志
这个使用标志 ENT_QUOTES
因为默认行为是只编码双引号。使用 ENT_QUOTES
也会对单引号进行编码。
关于javascript - json_encode 转义特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48637478/