js 的encodeURIComponent() 处理ajax请求url中的 “+ ? ; = @ $ #”等等特殊字符

来源:互联网 发布:淘宝优惠券的评价软件 编辑:程序博客网 时间:2024/05/16 18:14

js中的encodeURI()处理不了 “+ : ? ; = @ , $  #”,这些特殊字符不被转换,要用encodeURIComponent()处理才行,


比如:

        “+” 转换后就是“%2B”  


然后在php页面用urldecode()解码就行了.


例如:js 的ajax   url中含有“+ ;: , #”:

url :encodeURI("portMapAdd.php?state=up&new_id="+id+"&wd="+wd2+"&nd="+nd+"&xy="+encodeURIComponent(xy)+"&wp="+wp+"&np="+np+"&bzhu="+bzhu),

哪个参数含有“特殊符号“就用encodeURIComponent()转换


php页面解码处理:  urldecode($_POST['xy'])

其实,每种浏览器请求url时触传递参数时的编码也不一样 这个详细请看:http://www.ruanyifeng.com/blog/2010/02/url_encoding.html?bsh_bid=183526071