今天是实习的第二周,今天负责修复一个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记录就到这里了。