TypeError: Network request failed (using ReactNative and Django)

I'm developing a mobile app with React Native, and have a REST API in Django at the backend. I want to make a POST request from the app to my API.

Code

function sendDpi() {
const requestOptions = {
  method: 'POST',
  headers: {
    Accept: 'application/json',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    dpi: imageDpi,
  }),
};
fetch('http://127.0.0.1:8000/', requestOptions)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => {
    console.log(error);
  });
}

When sendDpi() is called by my app, I get [TypeError: Network request failed].
127.0.0.1:8000 is where my Django app is running, I'm not using localhost while specifying the URL (as pointed out by this answer).
I've also modified android/app/src/main/AndroidManifest.xml to include android:usesCleartextTraffic="true".

I think 127.0.0.1:8000 is also localhost. You need to find your external ip address if you use a physical device to test from.

I you test from android emulator you can just use http://10.0.2.2/8000.

Also try to make it work with http first. You might not have a valid SSL certificate. With invalid SSL certificate you also get [TypeError: Network request failed]

Back to Top