如何在 JavaScript 函数中使用单引号(撇号)转义 JSON 值
How to escape JSON values with Single Quotes(apostrophe) within JavaScript function
当数据(不与任何特殊字符混合)传递给 JavaScript 函数时,它会控制数据。但是当用单引号传递数据时,控制台会出现错误
"ask_game_name":"FIFA 17"
- 打印时不会出现任何错误
"ask_game_name":"Assassin's Creed IV"
- 结果是 "Uncaught SyntaxError: Invalid or unexpected token" 正好指向撇号
下面是在 PHP
中生成此类错误时遵循的以下代码片段
onclick='UserQueries(<?php echo json_encode($askInfoData); ?>)'
数据将作为参数在 JavaScript 内部传递并显示 JSON 值
<script type="text/javascript">
function UserQueries(data)
{
console.log(data);
}
</script>
这是将数据传递到 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
我应该如何在控制台中显示包含单引号值的值?
要使字符串安全地插入到 HTML 属性中:
- 使用
htmlspecialchars
- 使用
"
分隔属性值,或设置 htmlspecialchars
上的选项以在转义数据中包含 '
。
这样的:
onclick="UserQueries(<?php echo htmlspecialchars(json_encode($askInfoData)); ?>)"
当数据(不与任何特殊字符混合)传递给 JavaScript 函数时,它会控制数据。但是当用单引号传递数据时,控制台会出现错误
"ask_game_name":"FIFA 17"
- 打印时不会出现任何错误"ask_game_name":"Assassin's Creed IV"
- 结果是 "Uncaught SyntaxError: Invalid or unexpected token" 正好指向撇号
下面是在 PHP
中生成此类错误时遵循的以下代码片段onclick='UserQueries(<?php echo json_encode($askInfoData); ?>)'
数据将作为参数在 JavaScript 内部传递并显示 JSON 值
<script type="text/javascript">
function UserQueries(data)
{
console.log(data);
}
</script>
这是将数据传递到 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
我应该如何在控制台中显示包含单引号值的值?
要使字符串安全地插入到 HTML 属性中:
- 使用
htmlspecialchars
- 使用
"
分隔属性值,或设置htmlspecialchars
上的选项以在转义数据中包含'
。
这样的:
onclick="UserQueries(<?php echo htmlspecialchars(json_encode($askInfoData)); ?>)"