Android上的React-Native fetch()网络请求失败

时间:2017-10-19 20:49:11

标签: android ruby-on-rails react-native fetch react-native-android

背景: 我使用react-native和rails并在Kindle Fire HD平板电脑上进行开发。 当我使用fetch尝试连接到我的macbook上本地运行的rails服务器时,我收到以下错误。

TypeError: Network request failed
    at XMLHttpRequest.xhr.onerror (index.android.bundle:12432)
    at XMLHttpRequest.dispatchEvent (index.android.bundle:15169)
    at XMLHttpRequest.setReadyState (index.android.bundle:14953)
    at XMLHttpRequest.__didCompleteResponse (index.android.bundle:14809)
    at index.android.bundle:14904
    at RCTDeviceEventEmitter.emit (index.android.bundle:5866)
    at MessageQueue.__callFunction (index.android.bundle:4838)
    at index.android.bundle:4654
    at MessageQueue.__guard (index.android.bundle:4809)
    at MessageQueue.callFunctionReturnFlushedQueue (index.android.bundle:4653)

这是获取请求。

fetch('https://192.168.X.X:8080/api/collections', {
    method: 'GET',
    body: null,
})
.then((response) => response.json())
.then((responseJson) => {
    console.log(responseJson)
    return success(responseJson);
})
.catch((err) => {
    errors(err);
});

搜索时,大多数建议都说要将localhost / 127.0.0.1替换为服务器的ip。但这似乎没有帮助。

1 个答案:

答案 0 :(得分:0)

确保您的Mac端口已打开,默认情况下不是。还要确保防火墙关闭或允许连接通过。