web-dev-qa-db-ja.com

android=

私はモッキーからいくつかの単純なjsonを受信しようとしています。

Reactネイティブフェッチ関数:

getMemberDomainList = async (name) => {
  try {
    let response = await fetch('https://5c9cc9ed3be4e30014a7d287.mockapi.io/api/domain', {
      method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
      },
    });
    let responseJson = await response.json();
    return responseJson;
  } catch (error) {
    console.error(error);
  }
}

Windowsでchrome=のアドレスをテストしたところ、予想されるモックデータが返されました。ただし、関数が呼び出されると、Android電話でこのエラーが発生します- enter image description here

リモートデバッガーからのエラー

...\node_modules\react-native\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:2348 TypeError: Network request failed
    at XMLHttpRequest.xhr.onerror (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:4337)
    at XMLHttpRequest.dispatchEvent (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10760)
    at XMLHttpRequest.setReadyState (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10511)
    at XMLHttpRequest.__didCompleteResponse (...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10343)
    at ...\Libraries\Renderer\oss\ReactNativeRenderer-dev.js:10449
    at RCTDeviceEventEmitter.emit (...\Libraries\Components\DrawerAndroid\DrawerLayoutAndroid.Android.js:11)
    at MessageQueue.__callFunction (...\Libraries\ART\ReactNativeART.js:362)
    at blob:http://localhost:8081/79251787-d190-4650-8040-23d091c08738:2334
    at MessageQueue.__guard (...\Libraries\ART\ReactNativeART.js:312)
    at MessageQueue.callFunctionReturnFlushedQueue (...\Libraries\ART\ReactNativeART.js:139)

私はまた、アプリでWebViewを実行しています。これは、Web URLを指しているため、完全に読み込まれるため、電話にインターネットのアクセス権やアクセス権があることを確認しています。

9
Rasmus Puls

最新のAndroidバージョンでは、デフォルトでhttpリクエストは許可されていません。httpリクエストの許可に関する詳細については、この投稿をご覧ください。 すべてのネットワーク接続タイプHTTPおよびHTTPSを許可する方法Android(9)Pie?

3
sebbab

バックエンドの応答ステータスを確認してください。

バックエンドが205ステータスを使用してコンテンツを送信している場合-205 RESET CONTENT

Androidシステムはエラーとして認識します-HTTP 205 had non-zero Content-Length: 25

郵便配達員でステータスコードを確認できます。したがって、この場合、エラーはバックエンドで修正する必要があります。ステータスコード200のコンテンツを送信する必要があります。

0
glCoder

エミュレータを使用している場合は、ブラウザを使用してこのエミュレーションでインターネットが機能しているかどうかを確認してください。チェックされていない場合: Androidエミュレーターはインターネットにアクセスできません

エミュレータでもこの問題に直面していますが、リリースアプリを生成して実際のデバイス(Andoid 9)にインストールすると、問題なく動作します。

0
Md. Robi Ullah

Mockapi.ioを動作させることができません。ただし、次のようなサービスを使用すると、エラーは解決しません。

https://jsonplaceholder.typicode.com/todos/1

Androidであるとか、結局のところネイティブ関連の問題に反応しないかもしれません。ポストマンでのmockapi.ioの問題もありましたが、Chromeでは正常に動作します。

0
Rasmus Puls