需要向后端传递
param:
a=1 & b=2 & c=3
cookie:
a=1 & b=2 & c=3
使用get的方式,但是传过去之后:
param=a=1 & b=2 & c=3
这样直接被截断掉了,变成了 param=a,一个
& header= Content-Type=x-www-form-urlencoded & 。。。
发出去剩下& header= Content-Type & 。。。 了
总之就是截断了,所以要转义,也就是发之前,就先 encodeURIComponent
还有两个差不多的
encodeURI
escape 、 unescape
这样发是可以发了,但是发的时候,浏览器还会自动对param=进行编码,内容也是,所以这样就两层编码,导致
看下发请求的时候怎么写的:
//之前
export const getList = async (params) => {
return await axios.get(`xxxxxxxxxxx`,
{ withCredentials: true, params: params });
};
可以看到是放在param里,那么直接
export const requestApiTest = async (params) => {
return await axios.get(`xxxxxxxxxxx`+params, { withCredentials: true,
// params: params
});
};
传递的时候也是直接传拼接好的url。这样就不会对param额外进行转义了,而且由于传递的时候转义过,=也不会被阶段
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)