小程序请求参数null或undefined到后台变成字符串处理
小程序请求参数null或undefined到后台变成字符串怎么办?
当设置 header: {"Content-Type":"application/json"}在小程序里没有效果怎么办
用下面的方法是一种解决方式
request文件中添加下面方法将参数中的 null或undefined去除
const requestParamHandler = (params) => {
console.log(params, 'params');
if (typeof params == "object") {
for (let key of Object.keys(params)) {
if (params[key] == null || params[key] == undefined) {
delete params[key];
}
if (params[key] instanceof Array) {
const arr = [];
const list = params[key];
for (let listElement of list) {
const abj = requestParamHandler(listElement);
abj && arr.push(abj);
}
params[key] = arr;
}
}
}
return params;
};
然后在uni.request或者自己定义的接口方法中使用,类似于数据格式化
uni.request({
url: BASE_URL + options.url,
method: options.method || 'POST',
data: requestParamHandler(options.data) || {},
header,
dataType: 'json',})