非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的主要内容,如果未能解决你的问题,请参考以下文章
http请求参数之Query String Parameters、Form Data、Request Payload