页面菜单,通过get请求一个url后,跳转另外一个页面,+丢失问题
2023-12-21 06:17:04
业务场景描述:
在A系统,菜单点击跳B系统这个操作。
A系统菜单是get请求到B系统的一个缓冲页面,然后这个缓冲页面获取到url中的accessToken后,在这个页面中通过post请求后端接口。
问题描述:
当accessToken中包含了+。比如accessToken的值:YU+OHLJ2pyDRbiZWOuo4LQ== 这个时候,在post请求后端,后端接受到的参数,+变空格了。如下图:
解决方案:
当 URL 中的 '+' 被解析为空格后,你可以在前端再次进行编码,将空格转换回 '+',然后再发起 POST 请求。可以使用 JavaScript 中的 encodeURIComponent() 函数来对获取到的 URL 参数进行编码。例如:
var?accessToken?=?encodeURIComponent('YU?OHLJ2pyDRbiZWOuo4LQ==');
然后将编码后的 accessToken 作为参数添加到 POST 请求中。这样后端就能正确接收到含有 '+' 的参数了。
如果上面方法不行。可以尝试下面方法:
String?originalValue?=?parameter.replace("?",?"+");
最原始粗暴的方案就是直接replace替换。
方案二:
不建议在get请求的URL中拼接特殊字符。会被转移的。可以使用去掉“-”的uuid作为key.然后再拿着这个key进行换取真正的token
文章来源:https://blog.csdn.net/kaizi_1992/article/details/135105259
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!