关于http url带有特殊符号(get请求参数组类型传送)解决传特殊字符。

一   前端 http get 数组类型传参的形式(特殊中括号)

发关http get请求后台参数是数组类型时,你可以使用方括号 [] 来表示参数是一个数组。这通常被称为 "Query String Array" 或 "URL-encoded array"。下面是一些示例,演示了如何在URL中设置数组参数:

1使用方括号:

http://test.com/api/resource?param[]=value1&param[]=value2&param[]=value3

 如果是使用axios框架get时,默认会转换成这种格式。

2重复参数名

http://test.com/api/resource?param=value1&param=value2&param=value3

3混合使用:

http://test.com/api/resource?param=value1&param[]=value2&param[]=value3

允许你在数组中包含有一个值,方便动态添加多个值到数组中。

二  后端处理带有特殊符号URL

          有些后端处理遇到url包含特殊符号时会报错:Invalid character found in the request target ,而有些后端就能处理,这与后端采用的框架所处理的数据方法用关。

在URL中,有一些字符是被允许的,而有一些字符则是被禁止的。

对于数组类型的参数,你可以使用一些URL编码方式来确保URL中的字符都是有效的。例如,使用百分号编码(percent encoding)来替代特殊字符。以下是一些可能导致问题的字符和它们的编码方式:

  1. 方括号 []

    • [ 编码为 %5B
    • ] 编码为 %5D

    在URL中,你可以将 param[] 编码为 param%5B%5D

  2. 其他特殊字符:

    • 等号 = 编码为 %3D
    • 和号 & 编码为 %26
    • 空格编码为 %20+

确保将所有非标准字符进行适当的URL编码,以避免导致请求错误。要使用内置的URL编码函数,例如 encodeURIComponent(JavaScript)。通过使用这些函数,你可以确保URL中的参数是有效的,并且符合RFC 7230和RFC 3986的规范。

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qyhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值