将数组发送到服务器以使用React Native获取某些数据

时间:2017-11-20 10:43:16

标签: arrays api react-native http-post fetch-api

我正在尝试使用给定的数据从服务器获取数据。我使用以下代码:

    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中,整个请求是字符串,因此数组转换为字符串。如何发送数组?或者你们知道其他选择吗?谢谢!

1 个答案:

答案 0 :(得分:1)

将您的阵列发送为JSON,如下所示:

body: JSON.stringify(your_array)

然后在服务器上反序列化