encodeURIComponent 和 decodeURIComponent

encodeURIComponent(URI) 

MDN解释:

encodeURIComponent(URI)  都是对统一资源标识符(URI)的组成部分进行编码的方法。

返回值:

返回URIstring的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明:

(1)该方法不会对ASCLL、字母、数字进行编码,也不会对ASCLL标点符号进行编码:如:-    . ! ~ * ' ( )

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

 decodeURIComponent(url) 函数

用法:

 decodeURIComponent() 函数可把字符串作为 URI 组件进行解码。

返回值:

解码后的文本或URI组件

在使用js的jQuery的post向后台servlet传递拼接的字符串数据时,一些特殊的字符例如:“+、@、#、

$、%、&、?、/”等无法传递到后台输出。

举个例子:

       var str1="a+aa+bb@kk$dd";

       var  data="data1"="+str1+"+"&"+"data2"+str2;

         如果不进行编码,则通过js的jQuery的post或者使用window.self.location传递数据到后台,都会造成+、@、$字符无法正常输出。

正确写法:

        var str1=encodeURIComponent("a+aa+bb@kk$dd");

        var  data="data1"="+str1+"+"&"+"data2"+str2;

小知识

<1>  什么是URI 

URI, 统一资源标识符( Unifrom Resource Identifier, URI ),表示的是web上每一中可用的资源,如: html文档、图像、视频短片、程序等都由一个 URI 进行定位的。

<2>  URI的组成部分

URI通常有三部分组成:

(1)访问资源的命名机制。

(2)存放资源的主机名。

(3)资源自身的名字。

<3> URI举例

如:https://blog.csdn.net/qq_1063614453/article/details/111  

我们可以这样解释:

(1)这是一个可以通过https 协议访问的资源,

(2)位于主机 blog.csdn.net 上,

(3)通过 "/qq_1063614453/article/details/111" 可以对资源进行唯一标识

注意:以上三点只不过是对示例的解释,这三点并不是URI的必要条件,URI只是一种概念,怎样实现无所谓,只要它唯一标识一个资源就可以。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值