Я пытаюсь отправить простой POST Forms React Native Fetch request от Android-эмулятора до NodeJS-сервер. Сервер NodeJS не обнаруживает этого (работает с помощью Postman api). Пожалуйста, помогите мне :)React Native Form request
Server.js:
var express = require('express');
var app = express();
var accs = [];
var server = app.listen(8082, function() {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
app.post('/register', function(req, res) {
console.log("here");
let login = req.query.login;
let password = req.query.password;
accs.push({login: hashCode(login), password: hashCode(password)})
console.log(login + " " + password);
res.send("Created: L:" + hashCode(login) + " P:" + hashCode(password));
})
Реагировать Родной Fetch:
registerAcc() {
var details = {
'login': 'Login',
'password': 'Password!',
};
var formBody = [];
for (var property in details) {
var encodedKey = encodeURIComponent(property);
var encodedValue = encodeURIComponent(details[property]);
formBody.push(encodedKey + "=" + encodedValue);
}
formBody = formBody.join("&");
fetch('http://localhost:8082/register', {
method: 'POST',
headers: {
'Accept': 'application/json, application/xml, text/plain, text/html, *.*',
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
},
body: formBody
}).then((response) => {
this.setState({msg : "1"})
}).catch((error) => {
this.setState({msg : '2'});
});
}
Эмулятор также показывают общения:
Возможные Unhandled Promise засечки (идентификатор : 0): Запрос сети не удалось ...
Но функция улова предусмотрена.
Большое вам спасибо! Для меня это работает с Ipv4 – kapuchaster