2017-11-22 4 views
1

Ich benutze Fetch in React Native, um einen Aufruf an meine API zu machen, jedoch funktioniert es nur 75% der Zeit. Wenn meine Anfrage ich nicht funktioniert bekommen dies:Fetch mit reactive native

TypeError: Network request failed

oder

SyntaxError: Unexpected token < in JSON at position 0

fetch('http://localhost/vision.php', { 
     method: 'POST', 
     headers: { 
      'Accept': 'application.json', 
      'Content-Type': 'application.json', 
     }, 
     body: JSON.stringify({ 
      key: 'Mon paramètre' 
     }) 
    }) 
    .then((data) => data.json()) 
    .then((dataJson) => { 
     console.log(dataJson.message); 
    }) 
    .catch((error) => { 
     console.log(error); 
    }); 

}

Jemand das erklären kann?

+0

Wenn Sie "if (dataJson! == null) {..." nach dieser Zeile: ".then ((dataJson) => {", es ist immer noch passiert? –

Antwort

0

Wenn Sie TypeError: Network request failed erhalten, bedeutet dies, dass die Netzwerkanforderung fehlgeschlagen ist. Es könnte bedeuten, dass die API/Server, mit der Sie versuchen, eine Verbindung herzustellen, nicht mehr auf Verbindungen wartet.

In Bezug auf SyntaxError: Unexpected token < in JSON at position 0, das ist, was Sie erhalten, wenn Sie versuchen, Nicht-JSON als JSON zu analysieren. In der Regel ist es wahrscheinlich, dass Ihre API/Server Ihre Anfrage nicht erfüllt und Ihnen anstelle von JSON eine HTML-Fehlerseite liefert.

Sie sollten überprüfen, ob data.oktrue ist, bevor Sie versuchen, die JSON-Antwort zu analysieren (data.json()).

+0

Ok danke, aber es ist API Google mit Google-Server, so dass ich nicht denke, es ist down aber ok für JSON –

+0

Aktualisiert meine Antwort zu reflektieren, dass es * könnte * sei es. – kytwb

Verwandte Themen