У меня есть виртуальная машина, работающая локально, которая построена с использованием Vagrant. Я могу зависнуть и перейти к URL прямо из браузера. По какой-то причине, когда я делаю один и тот же вызов в своем мобильном приложении с использованием API fetch
, он продолжает давать мне ошибку Network request failed
.Невозможно сделать вызовы API с помощью реагирования-native
Вот фрагмент кода:
fetchData() {
this.setState({ isLoading: true });
var baseURL = 'https://192.168.33.33/api/session';
console.log('URL: >>> ' + baseURL);
fetch(baseURL)
.then((response) => response.json())
.then((responseData) => {
console.log(responseData);
})
.catch(error => {
console.log(error);
})
.done();
}
В журнале baseURL
есть возвращает правильный URL и ошибка выглядит так:
URL: >>> http://192.168.33.33/api/session
TypeError: Network request failed {stack: (...), message: "Network request failed"}
message: "Network request failed"
stack: (...)
get stack: function() { [native code] }
set stack: function() { [native code] }
__proto__: Error
Я думал, что это был вопрос когда моя виртуальная машина не была доступна каким-то образом моим приложением, поэтому я пошел дальше и развернул ее на реальном сервере, и она по-прежнему выдавала ту же ошибку.
Любые идеи?
does 'https: // 192.168.33.33/api/session' может потребоваться какой-то заголовок на ваш запрос на получение? – lyjackal
@lyjackal Я так не думаю, что все это делает код: http://d.pr/n/18BiU/3kXPWHcD –
Если вы используете объект XMLHttpRequest вместо fetch, вы получаете ту же ошибку? Правильно ли установлена CORS? – user2943490