2016-08-04 3 views
0

Я довольно долго задумывался над этим. Попытка сделать запрос POST на мой локальный HTTP-сервер с помощью React Native's fetch, но постоянно получайте TypeError.React Native fetch дает TypeError на Android

Вот как я поступил по моей просьбе.

onSignIn(credentials) { 
    const host = 'http://192.168.0.106'; 
    const namespace = '/api/v1'; 
    const headers = { 
    'Accept': 'application/json', 
    'Content-Type': 'application/json' 
    }; 
    fetch(host + namespace + '/register', { 
    method: 'POST', 
    headers, 
    body: JSON.stringify(credentials) 
    }).then(res => res.json()).then(function (user) { 
    dispatch(registerSuccess(user)); 
    }).catch(function (err) { 
    console.log(err); 
    dispatch(registerError(err)); 
    }); 
} 

Я знаю, что IP-адрес правильный, так как я сделал запрос с Postman на своем компьютере. И ни один из ответов, которые я нашел, не помог мне. Я запускаю это на Android 5.1, если это что-то меняет.

Пожалуйста, немного помогите пройти долгий путь.

+0

Вы проводите тестирование с реального устройства? – hini

+0

Да, да. На Xiaomi Note 3 Pro, если быть точным. –

ответ

0

Хорошо, это странно, но это может помочь кому-то. Я не совсем уверен, что этот вопрос был здесь, но я сумел решить эту проблему пинга моего телефона от компьютера, с этим:

ping 192.168.0.100 

После этого, как-то запросы API внезапно прошли. Очевидно, что IP-адрес для вашего телефона может отличаться, и пинги должны быть успешными, надеюсь, что это может помочь кому-то.

Я понимаю, что это не ответит на то, что действительно было проблемой, но скорее всего это какой-то маршрутизатор проблемы или конфигурацию локальной сети, трудно сказать.