【发布时间】:2019-08-09 11:15:50
【问题描述】:
当数据被传递(不与任何特殊字符混合)到 JavaScript 函数时,它将控制数据。但是当使用单引号传递数据时,控制台中会出现错误
"ask_game_name":"FIFA 17"- 打印时不会出现任何错误"ask_game_name":"Assassin's Creed IV"- 结果是“未捕获的语法错误:无效或意外的令牌”正好指向撇号
这是在 PHP 中生成此类错误时遵循的以下 sn-ps 代码
onclick='UserQueries(<?php echo json_encode($askInfoData); ?>)'
数据将作为参数参数在 JavaScript 中传递并显示 JSON 值
<script type="text/javascript">
function UserQueries(data)
{
console.log(data);
}
</script>
这是 Data 传递给 JS 后的控制台。
UserQueries({"ask_info_id":"1","ask_user_id":"1","ask_game_name":"FIFA 17","username":"Nishanth","avatar":"1800766906.png"})
UserQueries({"ask_info_id":"2","ask_game_id":"3","ask_game_name":"Assassin
我应该如何在包含单引号值的控制台中显示这些值?
【问题讨论】:
-
@RobG — 不!
\不是 HTML 转义字符。 -
@Quentin—哎呀,错过了上下文。
<li data-foo='{"ask_game_name":"Assassin&#39;s Creed IV"}'>可能会更好。 :-) 但大多数人似乎更喜欢 HTML 属性的双引号,所以还有更多工作要做…… -
@RobG — 这就是
htmlspecialchars的用途。
标签: javascript php jquery single-quotes