本文主要是介绍url中的转义字符“+”和空格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题:今天测试跑来找我说,h5分享页面打开没数据,我打开自己的小米手机看了看是好的,然后他拿的iphone测试机打开就是没数据
为了一探究竟,我在页面上加上了移动端调试vConsole(没用过的可以看我前面的文章),发现在ipnone请求报了500错误。我马上想到参数的问题,对比了一下参数:
安卓浏览器地址栏url:域名?sharePage=a+b,
safari中浏览器地址栏url:域名?sharePage=a%20b。
打印安卓浏览器url:域名?sharePage=a+b
打印safari浏览器url:域名?sharePage=a b(中间直接是空格)
打印安卓浏览器请求接口参数:a%2Bb
打印safari浏览器请求接口参数:a%2520b
在安卓浏览器中服务器正常解析的。但是safari中是%2520,这我们这边服务器就没解析出来,这我就想到让两种保持一致应该可以,于是就有了下面解决方案。
解决方法:url=url.replace(/[\s]g/,'+')
总结:
扩展:给大家一些url上的转义字符的参考:
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的URL和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D
注:此文章仅对碰到和我一样问题的伙伴有用,有问题欢迎指出。
这篇关于url中的转义字符“+”和空格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!