发送给后台数据里有&符号导致数据不完整的解决方案

今天是实习的第二周,今天负责修复一个bug,就是编辑一个图表的名字时,如果值是类似于

value: 'aaa&bbb'

这样包含&的数据,那么在将该数据发送给后端时,在chrome的控制台的form data中发现数据变成下面这种形式

value: 'aaa',
bbb: 

那么就导致编辑后的表明变成了aaa,而不是我们想要的aaa&bbb了,那么很显然如果数据中存在&符号,数据是会被&符号分割的,如果我们不想因为&符号的存在导致数据被分割,那么我们就必须对&符号进行转义。

因此之后我将代码修改成以下的样子
 

value: encodeURIComponent('aaa&bbb')

关于encodeURIComponent()的介绍可以上MDN看一下,这里就是将&符号转义成了%26此时因为不是&了,所以数据也就不会被分割了,发送给后端的数据就是

'aaa%26bbb'

不过这并不是我们想要的数据,实际上我们想要的是aaa&bbb,因此在后端代码的处理中还需要对接收的数据进行一个decode的处理,这样才能还原出原本的数据

也就是说对于这个问题的处理,还是需要前后端一起约定好相关的处理方式。

那么这次的bug记录就到这里了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值