页面菜单,通过get请求一个url后,跳转另外一个页面,+丢失问题

业务场景描述:

在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

最近更新

  1. TCP协议是安全的吗?

    2023-12-22 23:28:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-22 23:28:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-22 23:28:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-22 23:28:02       18 阅读

热门阅读

  1. 傅里叶变换全息图 Matlab

    2023-12-22 23:28:02       47 阅读
  2. Python---案例-多任务版TCP服务端程序开发

    2023-12-22 23:28:02       35 阅读
  3. LeetCode刷题(文章链接汇总)

    2023-12-22 23:28:02       47 阅读
  4. linux RCU 使用实例

    2023-12-22 23:28:02       31 阅读
  5. 卸载anaconda报错Error: Unable to move .anaconda

    2023-12-22 23:28:02       41 阅读
  6. Halcon DL-Model相关算子

    2023-12-22 23:28:02       33 阅读
  7. MATLAB中的协方差函数

    2023-12-22 23:28:02       34 阅读
  8. 楼宇对讲门铃的芯片构成分析

    2023-12-22 23:28:02       37 阅读
  9. 代码随想录 279. 完全平方数

    2023-12-22 23:28:02       34 阅读
  10. 详解Qml的底层实现

    2023-12-22 23:28:02       33 阅读