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

注:此文章仅对碰到和我一样问题的伙伴有用,有问题欢迎指出。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值