Ada*_*dam 10 javascript string jquery escaping
我遇到了用户输入数据的问题,如果有单引号,脚本就会出错.
处理用户输入的单引号的最佳方法是什么,因此它不会干扰jquery/javascript?
更新:
我通过ajax将它发送到数据库.这是json ajax调用的数据参数.
data: "{str_" + sectionName + " :'" + UpdateText + "',EntityID: '" + EntityID + "' }",
更新文本是可以包含引号的字符串.
mbr*_*ort 23
您需要使用\来转义引号,或者取决于您计划如何使用字符串,您可以使用javascript转义和unescape函数.
alert(escape("mike's"));
alert(unescape(escape("mike's")));
Run Code Online (Sandbox Code Playgroud)
还要检查一下使用jQuery转义字符串的方法
对于 AJAX 请求中的转义值,不要编写自己的转义实现或使用escape()方法。 (escape()已弃用)。而是创建一个 JSON 对象并使用JSON.stringify方法。
对于您的情况,它应该是这样的(暂时忽略动态属性):
//Create Javascript object
var obj = { SectionName: UpdateText, EntityID: EntityID };
Run Code Online (Sandbox Code Playgroud)
稍后在您的 ajax 请求中,您可以执行以下操作:
data: JSON.stringify(obj),
Run Code Online (Sandbox Code Playgroud)
如果您想对 JSON 对象使用动态属性,那么对于您的特定情况,您可以分两步创建对象,例如:
var obj = { EntityID: EntityID };
obj["str_" + sectionName] = UpdateText;
Run Code Online (Sandbox Code Playgroud)
这种做法将使您免于手动转义单/双引号和其他无效字符。JSON.stringify会照顾到这一点。
(我来到这里寻找一个有点类似的问题,但找不到合适的工作解决方案,所以最终在这里发布了一个)
| 归档时间: |
|
| 查看次数: |
44172 次 |
| 最近记录: |