TypeError: Сбой сетевого запроса (использование ReactNative и Django)
Я разрабатываю мобильное приложение на React Native, и у меня есть REST API в Django на бэкенде. Я хочу сделать POST-запрос из приложения к моему API.
Код
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);
});
}
Когда sendDpi()
вызывается моим приложением, я получаю [TypeError: Network request failed]
.
127.0.0.1:8000
- это место, где запущено мое приложение Django, я не использую localhost
при указании URL (как указано в этом ответе).
Я также изменил android/app/src/main/AndroidManifest.xml
, чтобы включить android:usesCleartextTraffic="true"
.
Я думаю, что 127.0.0.1:8000
также является localhost. Вам нужно найти ваш внешний ip-адрес, если вы используете физическое устройство для тестирования.
Если вы тестируете с эмулятора android, вы можете просто использовать http://10.0.2.2/8000.
Также попробуйте сначала заставить его работать с http. Возможно, у вас нет действительного SSL-сертификата. При недействительном SSL-сертификате вы также получите [TypeError: Network request failed]