JavaScript 中 get 请求 query 参数含 ‘&’ 怎么办 encode

积跬步 至千里

目录

今日问题 

解决办法 转义 使用 URL 编码

其他字符含义


 

今日问题 

      项目中医院名称导入不标准,包含了 ‘&’ 符号,想通过搜索接口查询看看,发现 likeName = '&',拼接好的 URL 在请求时被吃掉了,导致没有达到搜索目的。

const likeName  = "&"

 let url = "xxxx?likeName="+likeName+'&flag='+xxx

    以上我们希望的是likeName = '&', 然后在拼接后的URL 进行请求解析时,& 被当做了参数的分隔符 ,没有被当做参数,两个的时候也是当做了分隔符,因此导致likenName 搜索值空

解决办法 转义 使用 URL 编码

    将搜索参数进行转义,为了更标准,将搜索的内容进行encode URL 编码,因为搜索内容中可能不仅有 & 特殊符号的影响,其他特殊符号不编码也可能会在服务器端受到限制而报错。

    转义可以选择 encodeURIConmpnent 

其他字符含义

字符特殊字符的含义URL编码
+URL 中+号表示空格%2B
空格URL中的空格可以用+号或者编码%20
/分隔目录和子目录%2F
?分隔实际的 URL 和参数%3F
%指定特殊字符%25
#表示书签%23
&URL 中指定的参数间的分隔符%26
=URL 中指定参数的值%3D

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值