我正在读取输入文本字段的值,并将其传递来用作ajax数据
字段值具有+
<input name="someval" type="text" value="Receive (+ open)" />
并且看起来像是在解析数据时,它会将+解析为一个jquery串联。
data: 'someval=' + $("input[name=someval]").val(),
这是我第一次注意到此行为。
首先,我该如何解决。
其次,我无法知道输出何时可能具有这些特殊字符,因此是否存在一种已知的最佳实践来转义输入,以便每当发生输入时都被覆盖?
谢谢
最佳答案
'someval=' + encodeURIComponent($("input[name=someval]").val())
更好的是,让jQuery为您处理:
data: { someval:$("input[name=someval]").val() }
jQuery会自动将您的值(和键)转义为数据类型(例如
jQuery.param()
)的正确格式(使用"application/x-www-form-urlencoded"
)。