为ajax调用转义单引号
escaping single quotes for ajax calls
我有一个php页面,它是通过AJAX调用的。基本上,它从我的数据库中获取一些值,并通过输入等返回表。问题是,当它获取的字符串包含引号时(实际上似乎只有单引号受到影响)。因此,在php页面上有这样的内容:
$value = htmlentities($DB_result->cloumn);
echo'<input type = "button" onClick = "$(''#something'').val('''.$value.''');" />'
因此,如果$value
="hello",没有问题,但如果:$value
="hello",我从中进行AJAX调用的页面会抛出一些这样的错误:语法错误:意外标识符。所以我想以美元为单位的报价并没有逃脱,我认为htmlentities
会逃脱。任何关于如何解决这个问题的想法都非常感谢。非常感谢。
问题是$value
包含单引号,这会干扰javascript的正确解析。来自html实体的手动输入:
所有具有HTML字符实体等价物的字符都被翻译成这些实体。
这意味着你的单引号不是转义的,它们只是以浏览器更好理解的方式翻译的。您需要使用addslashes()
:
$value = htmlentities(addslashes($DB_result->cloumn));
"'hello'"
将变成"''hello''"
,在浏览器中看起来像:
<input type = "button" onClick = "$('#something').val('''hello''');" />
它将字符串'hello'
(带单引号)属性为$('#something')
的值属性
尝试:
$value = htmlentities($DB_result->cloumn, ENT_QUOTES, "utf-8");
将ENT_QUOTES作为标志传递将转换双引号和单引号。
相关文章:
- 删除单引号字符转义
- Javascript-如何在剑道模板上转义双引号和单引号
- 无法转义XML中的单引号
- 为ajax调用转义单引号
- 使用JavaScript转义单引号
- 如何在jQuery中转义单引号
- 转义字符串化 JSON 中的单引号,作为 EJS 模板传递以供查看
- 使用单引号(撇号)转义将活动记录对象解析为 json
- 转义单引号,即在双引号中的单引号
- 在 Javascript 中转义单引号
- 如何在 OData 筛选器 URI 中转义单引号
- JavaScript 单引号和双引号中的转义字符
- JavaScript Alert() 函数中的单引号转义
- JavaScript - 转义 JavaScript Object 属性值中的单引号
- JavaScript 单引号被转义
- 如何转义 SQL 查询的单引号,用于在 cartodb 数据库中的 javascript/jquery 中生成的查询
- 如何从 JS 字符串中转义双引号和单引号
- ColdFusion/Javascript转义单引号
- 如何在thymelaf和javascript代码中转义单引号
- JavaScript函数参数中的单引号转义