js中传递特殊字符(+,&)的方法

 更新时间:2014年01月16日 14:58:17   作者:  
这篇文章主要介绍了js中传递特殊字符(+,&)的方法,有需要的朋友可以参考一下

背景:

今天在做一个任务时,用Jquery的Ajax传递一长串字符时,在后台的验证一直不成功,纠结时我了(那个字符串是随机生成的,特长)。查了一上午,原来是我生成的字符串中有+号,而在js传递的时候,会理解为是连接字符用的,到了后台就将+号自动变为空格了,所以后台的字符串和前台生成的已经不一样了。

原因:

js后自动解析特殊字符,如+号为连接符,解析为空格,&为变量连接符,服务器端接受数据时&以后的数据不显示等等。

解决办法:

1、将字符放到form中,然后用js提交form表单到服务器。

2、将字符中的特殊字符替换成十六进制的字符,一些特殊字符与十六进制的对应关系:

 

+ 空格 / ? % & = #
%2B %20 %2F %3F %25 %26 &3D %23

str = str.replace(/\+/g,"%2B"); 将+号替换为十六进制 

3、最简单的一种,使用encodeURIComponent()函数。  

  该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

相关文章

  • 关于localStorage的存储,读取,删除

    关于localStorage的存储,读取,删除

    这篇文章主要介绍了关于localStorage的存储,读取,删除方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • JavaScript异步编程:异步数据收集的具体方法

    JavaScript异步编程:异步数据收集的具体方法

    我们先尝试在不借助任何工具函数的情况下来解决这个问题。笔者能想到的最简单的方法是:因前一个readFile的回调运行下一个readFile,同时跟踪记录迄今已触发的回调次数,并最终显示输出。下面是笔者的实现结果。
    2013-08-08
  • JavaScript 程序循环结构详解

    JavaScript 程序循环结构详解

    这篇文章主要为大家介绍了JavaScript 程序循环结构,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 一篇搞懂Vue2、Vue3响应式源码的原理

    一篇搞懂Vue2、Vue3响应式源码的原理

    这篇文章主要介绍了Vue2、Vue3响应式源码的原理,内容很详细,对大家的学习或者工作具有一定的参考学习价值,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2023-01-01
  • JavaScript动画原理之如何使用js进行动画效果的实现

    JavaScript动画原理之如何使用js进行动画效果的实现

    在现在做页面很多时候都会用上动画效果,比如下拉菜单,侧边搜索栏,层的弹出与关闭等等,下面这篇文章主要给大家介绍了关于JavaScript动画原理之如何使用js进行动画效果实现的相关资料,需要的朋友可以参考下
    2023-04-04
  • JavaScript实现动态表单生成

    JavaScript实现动态表单生成

    这篇文章主要来和大家一起深入探讨如何使用JavaScript实现一个动态表单生成器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2024-01-01
  • js 右键菜单,支持不同对象不同菜单(兼容IE、Firefox)

    js 右键菜单,支持不同对象不同菜单(兼容IE、Firefox)

    版本虽然很老也不符合标准了,不过代码是值得参考的,需要右键菜单的朋友可以参考下。
    2010-01-01
  • 基于JavaScript实现弹幕特效

    基于JavaScript实现弹幕特效

    这篇文章主要为大家详细介绍了基于JavaScript实现弹幕特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • JS+CSS实现超漂亮的动态翻书效果(思路详解)

    JS+CSS实现超漂亮的动态翻书效果(思路详解)

    我们平常冲浪时是不是看过一些学校高级的录取通知书,翻开通知书就能看见里面的内容,呈现出逼真的3D效果,本文带领大家基于JS+CSS实现超漂亮的动态翻书效果,需要的朋友可以参考下
    2023-05-05
  • jquery及原生js获取select下拉框选中的值示例

    jquery及原生js获取select下拉框选中的值示例

    有一id=test的下拉框,怎么拿到选中的那个值呢?本文将采用javascript原生的方法及jquery方法(前提是已经加载了jquery库)来简单实现下
    2013-10-10

最新评论