非post请求时整个url作为参数传递出现bug

Posted 无厘头的脑子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非post请求时整个url作为参数传递出现bug相关的知识,希望对你有一定的参考价值。

在非post请求使用整个url作为参数传递到后台时会出现url被截断的bug,这时通过encodeURIComponent进行url的编码可以解决。示例如下:

<!--参数url-->
Url = "http://*******/payment/qrcode/prePay?orderId=1504053239505&amt=0.01&subject=%25E6%25B5%258B%25E8%25AF%2595%25E5%2595%2586%25E5%2593%2581&merId=07630311133670&merName=";
请求地址:
http://*******/payment/qrImage?qrUrl=Url

当Url不经过编码时:会因为存在&符号而被分割,会将&符号后面的字符串认为成新的参数。

后台接收到的url如下所示:

http://*******/payment/qrcode/prePay?orderId=1504053239505

进行encodeURIComponent编码则会将&等符号进行编译,形成没有&的字符串来解决这个问题。

 

以上是关于非post请求时整个url作为参数传递出现bug的主要内容,如果未能解决你的问题,请参考以下文章

WKWebView POST 请求

http请求参数之Query String Parameters、Form Data、Request Payload

axios发送post请求,请求参数会出现在url后面的问题

简单整理编码问题

什么步骤可以用post向网络传递多个参数

php 发送post请求且header中带参数bug调试