我正在尝试使用给定数据从服务器获取数据。我使用以下代码:
const details = {
'function': 'getUsers',
};
const formBody =
Object.keys(details).map(key=>encodeURIComponent(key)+
'='+encodeURIComponent(details[key])).join('&');
console.log(formBody);
fetch(url, {
method: 'POST',
credentials: 'include',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie': 'XPIDER_SID=' + this.props.text
},
body: formBody
}).then((response) => response.json())
.then((responseJson) => {
if (responseJson.status === 'okay') {
this.setState({ users: responseJson.users });
} else {
this.setState({ error: responseJson.error });
}
})
到目前为止,它工作得很好。现在我必须发送一个数据数组,但是当我以详细常量写入数组时,由于 formBody,服务器不会采用该数组。在formBody中,整个请求是字符串,因此数组转换为字符串。我怎样才能用这个发送一个数组?或者你们知道任何其他选择吗?谢谢!
像这样将数组作为 JSON 发送:
body: JSON.stringify(your_array)
然后在服务器上反序列化它