【发布时间】:2020-09-26 11:50:07
【问题描述】:
您好,我在使用 URLSearchParams 发送数组时遇到问题。我的代码如下:
const worker = async(endpoint, method, parameters) => {
let body;
if (typeof parameters === 'object' && parameters !== null) {
body = new URLSearchParams()
for (const key in parameters) {
body.append(key, parameters[key])
}
}
try {
const response = await fetch(endpoint, {
method: method,
body: body || null
});
const json = await response.json();
if (json.status === 200) {
return Promise.resolve(json.data)
}
return Promise.reject(json.message);
} catch(error) {
return Promise.reject('500 Encountered a server error')
}
};
我迭代参数对象并创建一个新的URLSearchParams 对象。我的一个参数是一个数组,我在执行body.append(key, parameters[key]) 之前记录了该参数的值,它确实是一个数组:Array(1) ["user"]。但是,当我检查我的快速服务器并读取响应时,参数的值是"user" 而不是["user"]。我已经确认这不是我的快递服务器的问题,因为同样的请求适用于 Postman。我在这里做错了什么?
【问题讨论】:
标签: javascript express urlsearchparams