2016-07-11 17 views
-1

Hey Jungs, ich bin versucht, Daten von Remote-Server und der Rückkehr in Alertbox zu holen mit reagieren-nativeWie holen Daten von API in reagieren-native

Hier ist mein Code für

_onPressButtonPOST: function(){ 
    fetch("http://www.example.com/endpoint", { 
    method: "POST", 
    body: JSON.stringify({ 
     key: "value", 
    }) 
    }) 
    .then((response) => response.json()) 
    .then((responseData) => { 
    Alert.alert(
       "POST Response", 
       "Response Body -> " + JSON.stringify(responseData.body) 
     ) 
    }) 
    .done(); 
    }, 

Hier holen ist was ich von meinen Endpunkten holen möchte.

{ 
    "_shards": { 
    "total": 1, 
    "successful": 1, 
    "failed": 0 
    }, 
    "hits": { 
    "total": 1, 
    "max_score": 1, 
    "hits": [ 
     { 
     "_index": "service", 
     "_type": "service", 
     "_id": "ac8c5edd-1aad-406f-b476-012c6e940c1a", 
     "_score": 1, 
     "_source": { 
      "service_owner_id": "2", 
      "service_name": "miamia", 
      "service_email": "[email protected]", 
      "service_contact_name": "mukesh", 
      "service_landline_number": "12345", 
      "service_mobile_number": "1234567890", 
      "service_address": "vdvml", 
      "service_listingType": 1, 
      "service_avg_rating": 3.5, 
      "sarvice_ratingcount": 10, 
      "service_serviceType": 1, 
      "service_working_hour": [ 
      "" 
      ], 
      "service_subcat_ids": "2,3", 
      "service_description": "hi I am mukesh kumar ", 
      "service_id": "ac8c5edd-1aad-406f-b476-012c6e940c1a", 
      "service_logo_url": "", 
      "service_gallery_url": "", 
      "service_location": { 
      "lat": 19.34, 
      "lon": 72.845 
      }, 
      "service_subcategory": "CAT GER ", 
      "service_review": [] 
     } 
     } 
    ] 
    }, 
    "took": 2, 
    "timed_out": false 
} 

Aber in alertbox zeigt es undefined was könnte das Problem sein? kann mir jemand helfen? Vielen Dank im Voraus.

+0

Try Protokollierung responseData.body und überprüfen, ob es einen Wert –

+0

Ich habe versucht, mit console.log (JSON.stringify (response.body)), konnte aber nichts – atif

+0

finde ich gemeint tun there.then ((responseData) => console.log (responseData.body) und checke dann in dein dev tool log –

Antwort

0

Ein weiterer Grund ist, dass sie im PHP-Endpunktcode versuchen, die Parameter zu senden, die mit $ _POST, $ _GET oder $ _REQUEST gesendet wurden.

Verwenden Sie in diesem Fall anstelle von Json FormData als body-Wert in Ihrer Abrufoperation.

Ein Beispiel

 var FormDataToPost = new FormData(); 
     FormDataToPost.append('userId', 12); 

     fetch(url, { 
       method: 'POST', 
       headers: { 
        'Accept': 'application/json', 
        'Content-Type': 'application/json' 
        }, 
       body: FormDataToPost 
      }) 
      .then((response) => response.json()) 
      .then((responseData) => { do something }) 
      .catch((error) => { 
        alert(error); 
      }) 
      .done();