url 参数转义

现在有这样一个需求,在手机端切换多个不同域的页面,同时该页面可能存在需要的参数,现使用iframe实现。
在这里插入图片描述
将不同网页显示在iframeView页面中,路由为/iframeView,从后台获取到某网页的数据:http://localhost:8081?user=su&pwd=123,现通过路由传参的方式传到iframeView页面。因此iframeView页面得到一串url: /iframeView?url=http://localhost:8081?user=su&pwd=123

问题:url为iframeView页面的参数,当URL参数中存在特殊字符时,服务端或iframe将不能正确识别。因此网页将不能获取url后的参数

方法: 转义+replace
转义内容:
+      URL 中+号表示空格                     %2B

空格    URL中的空格可以用+号或者编码   %20

/       分隔目录和子目录                         %2F

?      分隔实际的URL和参数                  %3F

%     指定特殊字符                                %25
#     表示书签                                           %23

&      URL 中指定的参数间的分隔符    %26

=     URL 中指定参数的值                        %3D

代码参考:

 let url = 'http://localhost:8081?user=su&pwd=123';
 let nUrl1 = url.replace(/&/g,'%26');      //全局替换,将使用‘&’替换成%26
 let nUrl2 = nUrl1.replace(/\?/g,'%3F');   //注:要替换‘?’,要在前面加个‘\’
 url = nUrl2;    //注:replace不会改变原来的字符串   

//转义结果: http://localhost:8081%3Fuser=su%26pwd=123

获取参数:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值