【发布时间】:2015-08-07 15:31:59
【问题描述】:
我有一个本地运行的虚拟机,它是使用 Vagrant 构建的。我可以直接从浏览器卷曲并转到 URL。出于某种原因,当我使用 fetch API 在我的 react-native 应用程序中进行相同的调用时,它一直给我 Network request failed 错误。
这是一个sn-p的代码:
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
我认为这可能是我的虚拟机无法通过我的应用程序以某种方式访问的问题,所以我继续将它部署到一个真实的服务器上,但它仍然给出了同样的错误。
有什么想法吗?
【问题讨论】:
-
https://192.168.33.33/api/session是否可能在您的 get 请求中需要某种标头? -
@lyjackal 我不这么认为,所有代码都是这样的:d.pr/n/18BiU/3kXPWHcD
-
如果你使用 XMLHttpRequest 对象而不是 fetch,你会得到同样的错误吗? CORS 设置是否正确?
-
能否提供您真实服务器的 URL,以便我们重现错误?
-
你检查同源策略了吗?
标签: javascript reactjs react-native