
在公司的业务中,有如下的业务场景:
在app端中点击活动banner图,跳转到H5端的活动页面;
若用户已在app中登陆,则在跳转到H5端时,携带一个后台下发的参数(autoLogin),表明用于已在app端登陆;
H5页面获得参数后,通过ajax请求后台,获得用户的账户信息;
在此实现了H5端 自动登陆 的功能。
然而,在测试阶段,我们发现有时候出现自动登陆失败的情况。
根据 前言 中提及到的业务流程,我们一开始怀疑在自动登陆失败时,app未带上表面已登陆的参数(autoLogin)。
通过 Fiddlerexe 抓包,我们发现发生自动登陆失败时,并非是未从url获取到autoLogin参数,而是在H5端ajax请求用户信息时后台报错。
问题都这么明了,此时不怼后台,更待何时
此处省去联调、扯皮、打脸等过程。。。。。。。
我们经过艰苦卓绝的抓包,发现当自动登陆失败时,H5端提交的autoLogin有一个 空格 !!!
然后对比了后台下发给app的autoLogin参数,H5端提交的autoLogin少了个 加号 !!!
当app打开H5页面时,若autoLogin参数携带 加号 ,
由于浏览器 自动编码 url的机制,将 加号 编码成 空格 的 %20 ,而不是 %2B ,
导致H5端获取了一个错误的autoLogin参数,导致自动登陆失败。
url中的 空格 会自动编码,但 加号 在某些站点会编码,某些又不会。
这不是第一个坑,也不会是最后一个坑,未完待续
<c:forEach items="${resultMap}" var="data">
<tr>
<td>${datakey}</td>
<td>${datavalue}</td>
</tr>
</c:forEach>
当客户端在 发出POST请求时/albums,您希望将请求正文中描述的专辑添加到现有专辑数据中。
为此,您将编写以下内容:
1、编写代码
a添加代码以将专辑数据添加到专辑列表。
在此代码中:
1)用于ContextBindJSON 将请求正文绑定到newAlbum。
2) album将从 JSON 初始化的结构附加到albums 切片。
3)向响应添加201状态代码,以及表示您添加的专辑的 JSON。
b更改您的main函数,使其包含该routerPOST函数,如下所示。
在此代码中:
1)将路径中的POST方法与 /albumspostAlbums函数相关联。
使用 Gin,您可以将处理程序与 >
以上就是关于踩坑系列:获取url中参数时,+号变成空格的问题全部的内容,包括:踩坑系列:获取url中参数时,+号变成空格的问题、有什么高效的办法获取URL的参数当成map、GO语言(十三):使用 Go 和 Gin 开发 RESTful API(下)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)