2016-03-19 7 views
0

Ich versuche, eine Anfrage mit FETCH in react-native zu posten. Die Anforderung schlägt jedoch manchmal die folgende Meldung fehl: TypeError: Netzwerkanforderung ist fehlgeschlagen. Der Code, den ich eine POST-Anforderung senden verwenden:React-native IOS, TypeError: Netzwerkanforderung fehlgeschlagen

fetch(query,{ 
     method: 'POST', 
     headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/x-www-form-urlencoded' 
       }, 
     body: JSON.stringify(data) 
     }) 
     .then(Utils.checkStatus) 
     .then(Utils.parseJSON) 
     .then(json => this._handleResponseComments(json)) 
     .catch(error => { 

     this.setState({isLoading:false, error: 'Error!'}); 

     }); 

Was mit meinem Code falsch?

EDIT:

fand einige Hinweise bei der xhr Objekt Anmeldung:

{ UNSENT: 0, 
    OPENED: 1, 
    HEADERS_RECEIVED: 2, 
    LOADING: 3, 
    DONE: 4, 
    onreadystatechange: null, 
    onload: [Function], 
    upload: {}, 
    readyState: 4, 
    responseHeaders: undefined, 
    responseText: 'The network connection was lost.', 
    status: 0, 
+0

Es ist sehr schwer zu erraten, was schief gegangen sein könnte. Versuchen Sie es zu debuggen. Überprüfen Sie die Fehlermeldung im Detail und sehen Sie sich die Stack-Trace –

+0

Das Problem ist, dass es nur passiert, wenn mein Iphone über WIFI mit dem Internet verbunden ist. Es gibt kein Problem, wenn es auf 3G ist. – meteorite

+0

Ok fand einen anderen Anhaltspunkt das xhr Objekt Anmeldung: {UNSENT: 0, GEÖFFNET: 1, HEADERS_RECEIVED: 2, LADEN: 3, DONE: 4, onreadystatechange: null, onload: [Funktion], Upload: {}, readyState: 4, responseHeaders: undefiniert, responseText: 'Die Netzwerkverbindung wurde unterbrochen.', Status: 0, – meteorite

Antwort

0

OK schließlich habe ich die Wurzeln des Problems gefunden. Durch das Erhöhen des KeepAliveTimeout in meiner virtuellen Hostkonfiguration auf Apache wurde das Problem behoben. Setzen Sie KeepAliveTimeout 30 nur für mich.

Keepalive On Keepalivetimeout 30 MaxKeepAliveRequests 0