2017-11-20 16 views
0

주어진 데이터로 서버에서 데이터를 가져 오려고합니다. 다음 코드를 사용하고 있습니다 :React Native로 일부 데이터를 가져 오기 위해 서버에 배열 보내기

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에서 전체 요청은 문자열이므로 배열이 문자열로 변환됩니다. 어떻게이 배열을 보낼 수 있습니까? 아니면 다른 옵션을 아십니까? 고맙습니다 !

+0

난 당신이 요청 – Prasanna

답변

1

은 다음과 같이 JSON로 배열을 보내기 :

body: JSON.stringify(your_array) 

그런 다음 서버

+0

에'data' 매개 변수를 사용할 수 있다고 생각 대답 해 주셔서 감사합니다 그것을 역 직렬화. 하지만 형식이 x-www-form-urlencoded이어야하므로 JSON을 보낼 수 없습니다. –