代码改变世界

Javascript脚本对url参数的编码

2012-03-20 17:19  李帅营  阅读(183)  评论(0编辑  收藏  举报

利用get方式进行传输参数时,在.net中一般使用Request.QueryString["Model"]方式进行参数的获取,

此时,若参数未包含特殊字符则能正常获得,若包含有特殊字符,此种方法获取的参数值则会自动进行转换,

当然,大家对参数编码已是常识问题,最常用的可能就是escape函数了,可是此函数的编码功能是比较弱的,

例如:对于‘+’则不能进行编码,在后台的cs代码中进行获取仍将将自动识别为空格;

 

针对此种问题,可以换用不同的编码方式进行实现,javascript中对应的编码方式如下:

escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

童鞋们可以针对不同的特殊字符可以采用不同的编码方式。