一天看到好多次些许不好意思,主要是因为感觉每一个问题都值得记录一下,所以就又来了,这次的问题是一个小问题,是关于传递给后端的name中有#,例如小明#很聪明,但是后端接受#时没有做处理,所以会导致接口报错500,了解之后得知,后端要把#转换为%23才可以,所以就需要替换下,当然了这个工作前后端都可以处理,看同事之间的协调配合
如果时前端进行处理的话,只需要在你传入的变量的上方,重新定义一个变量,然后通过replace方法进行替换,将#换位%23
代码中的encodeName就是新的变量的名字
nameValue.value就是原本需要传递到后端的内容
通过判断这个name的值是否带有#,如果有的话就对其进行替换处理,如果没有话就直接传入对应的value值就可以,这样就实现了,将#替换为后端可以接收的%23的问题啦~~~
let encodedName; //定义的新的变量的名字
if (nameValue.value) {
// 使用replace方法替换#
encodedName = encodeURIComponent(nameValue.value.replace(/#/g, "%23"));
} else {
encodedName = nameValue.value;
}
const params = {
name: encodedName,
startTime: gonextTime.value[0].format("YYYY-MM-DD HH:mm:ss"),
endTime: gonextTime.value[1].format("YYYY-MM-DD HH:mm:ss"),
};
一不小心又学到了知识,好歹今天也是收获满满的一天,但是不得不说一句,真的很讨厌get请求,你们有时间的话也可以告诉我最讨厌的事情哦,(会保密的),下次见咯~