javascript
  • jquery
  • 2009-11-05 38 views 0 likes 
    0

    我在读输入文本字段的值,并把它传递给被用作AJAX数据逃逸+字符作为AJAX数据(以防止串联)

    的字段值具有+

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

    并且看起来像使用数据进行分析时,它将+解析为jquery并置。

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

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

    • 首先,我该如何解决它。第二,我无法知道什么时候输出可能有这些特殊字符,那么是否有一种已知的最佳实践方式来避免输入,以便每当它发生时我们都被覆盖了?

    感谢

    回答

    2

    尝试encodeURIComponent

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

    更重要的是,让jQuery的为您处理:

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

    jQuery将自动逃脱你的价值观(和密钥)到正确格式(使用jQuery.param())作为数据类型(例如"application/x-www-form-urlencoded")。

    +0

    所以我想每次有可能输入可能包含特殊字符,我必须使用它。这是如何完成的。 – Chris 2009-11-05 21:27:41

    +1

    @Chris:看我的更新。 – 2009-11-05 21:30:37

    +0

    相当不错的东西罗丁,非常感谢 – Chris 2009-11-05 21:31:18

    相关问题