React Native возвращает [Отклонение необработанного обещания: TypeError: Ошибка сетевого запроса], когда я делаю почтовый запрос

Когда я делаю почтовый запрос в React Native с помощью Axios, он возвращает [Отклонение необработанного обещания: TypeError: Ошибка сетевого запроса]. Это мой json и мой метод axios

const credentials= {
NickName: "ricardo.luna",
Password: "123",
AccesoAplicacion: 1,
DerechosRangoInicial: 1000,
DerechosRangoFinal: 1012
}

const loginAxios = () => {
axios
  .post('x.x.x.x/API/users', credentials)
  .then(response => {
    console.log(response.IdUser);
  });
 };

person Ricardo Luna    schedule 18.03.2020    source источник


Ответы (2)


Вам необходимо передать параметры сообщения как FormData

let bodyFormData = new FormData();

bodyFormData.set('NickName', 'Fred');
bodyFormData.set('Password', '123');
bodyFormData.set('AccesoAplicacion', 1);
bodyFormData.set('DerechosRangoInicial', 1000);
bodyFormData.set('DerechosRangoFinal', 1012);

const loginAxios = () => {
axios({
    method: 'post',
    url: 'x.x.x.x/API/users',
    data: bodyFormData,
    headers: {'Content-Type': 'multipart/form-data' }
    })
    .then(function (response) {
        //handle success
        console.log(response);
    })
    .catch(function (response) {
        //handle error
        console.log(response);
    });
};

Или вы можете использовать модуль querystring для создания строки запроса.

const querystring = require('querystring');

const credentials= {
NickName: "ricardo.luna",
Password: "123",
AccesoAplicacion: 1,
DerechosRangoInicial: 1000,
DerechosRangoFinal: 1012
}

const loginAxios = () => {
axios
  .post('x.x.x.x/API/users', querystring.stringify(credentials))
  .then(response => {
    console.log(response.IdUser);
  });
 };
person EL173    schedule 19.03.2020
comment
спасибо, я использовал структуру кулака, но вместо использования FormData я использовал свой объект учетных данных и работал гладко - person Ricardo Luna; 19.03.2020
comment
@RicardoLuna рад помочь вам, а также, пожалуйста, не забудьте также проголосовать ???? - person EL173; 20.03.2020
comment
Спасибо, я сделал, но там написано Спасибо за отзыв! Голоса, отданные теми, у кого репутация менее 15, записываются, но не изменяют публично отображаемый результат публикации. :( На самом деле это первый вопрос здесь - person Ricardo Luna; 20.03.2020

просто добавьте после .then() .catch(error=>{}), чтобы обработать отказ и поймать возвращенную ошибку

person YaNuSH    schedule 18.03.2020