2016-03-19 20 views
0

react-nativeでFETCHを使用してリクエストを送信しようとしています。ただし、次のメッセージがスローされることがあります。TypeError:Network request failed。React-native IOS、TypeError:ネットワーク要求が失敗しました。

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!'}); 

     }); 

私のコードの何が問題になっている:私は、POSTリクエストを送信するために使用 コード?

EDIT:XHRオブジェクトをログイン時に

は、いくつかの手がかりを見つけました:

{ 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

間違っている可能性が何を推測することは非常に困難です。デバッグしてみてください。エラーメッセージを詳細にチェックし、スタックトレースを参照してください –

+0

問題は、私のiPhoneがWIFI経由でインターネットに接続されている場合にのみ発生するということです。 3Gにいるときは問題ありません。 – meteorite

+0

OKがXHRオブジェクトをロギング別の手がかりを発見:{UNSENT:0、 が開か:1、 HEADERS_RECEIVED:2、 LOADING:3、 はDONE:4、 onreadystatechangeに:ヌル、 のonload:[機能]、 アップロード: {0}、 レスポンスヘッダー:未定義、 – meteorite

答えて

0

OK最終的に私は、問題の根を発見しました。 Apacheの仮想ホスト設定でKeepAliveTimeoutを増やすと、問題が解決しました。ちょうど私のために働いたKeepAliveTimeout 30を設定してください。 のKeepAliveTimeout 30 MaxKeepAliveRequests 0

キープアライブ

関連する問題