Я создал бэкэнд express.js с базой данных mySql, как предлагается в следующих сериях урока первая часть здесь и вторая часть здесь .Протестировал все маршруты с помощью Postman и уже отлично работает.
Затем, используя реактивный-родной, я попробовал простой запрос Get для получения данных из таблицы в базе данных:
<Button title='Test MySQL Connection'
onPress = {()=>{
fetch('http://my_laptop_IP:3000/users')
.then(response => response.json())
.then(users => alert(users))}}
/>
Этолегко работает нормально.
Однако, когда я попытался вставить строку в таблицу, используя Post, это не удалось:
<Button title='Test MySQL Connection'
onPress={()=>{
fetch('http://my_laptop_IP:3000/users', {
method: 'POST',
headers: {
Accept: 'application/x-www-form-urlencoded',
'Content-Type': 'application/x-www-form-urlencoded',
},
body: JSON.stringify({
first_name:'Cell',
last_name: 'First_form',
})
})
.then((response) => response.json())
.then((response) => {
alert(response);
})
.catch((error) => alert('Error ' + error));
}}
/>
Снимок экрана ошибки для экспресс-бэкэнда следующим образом:
И это отображается в моем эмуляторе виртуального устройства:
попытались изменить часть заголовказапрос на получение вот так:
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
все равно не повезло ..