代码之家  ›  专栏  ›  技术社区  ›  Chris

读取时转义+字符以作为ajax数据传递(防止连接)

  •  0
  • Chris  · 技术社区  · 16 年前

    字段值具有 +

    <input name="someval" type="text" value="Receive (+ open)" />
    

    当使用数据解析时,它将+解析为jquery连接。

    data: 'someval=' + $("input[name=someval]").val(),
    

    这是我第一次注意到这种行为。

    • 第二,我无法知道输出何时可能有这些特殊字符,所以是否有一种已知的最佳实践方法来转义输入,以便无论何时发生,我们都被覆盖?

    1 回复  |  直到 16 年前
        1
  •  2
  •   Roatin Marth    16 年前

    尝试 encodeURIComponent :

    'someval=' + encodeURIComponent($("input[name=someval]").val())
    

    更好的是,让jQuery为您处理它:

    data: { someval:$("input[name=someval]").val() }
    

    jQuery.param() )对于数据类型(例如 "application/x-www-form-urlencoded"