【发布时间】:2019-12-09 18:41:39
【问题描述】:
我使用以下代码创建了一个简单的 JSON.server 项目:
npm install JSON-server -g
我使用以下代码运行此服务器:
JSON-server --watch db.json -p 3001 -d 2000
当我在浏览器中运行此服务器时,它可以工作,但是当我从该服务器以 react native 获取数据时,这不起作用。
我的 react-native 用于从 JSON.server 获取数据的代码:
return fetch(baseUrl + "data")
.then(
response => {
if (response.ok) {
return response;
} else {
//error
}
},
error => {
var errmess = new Error(error.message);
throw errmess;
}
)
.then(response => response.json())
.then(dishes => dispatch(fetchData(data)))
.catch(error => dispatch(dataFailed(error.message)));
fetchData方法:
export const fetchData = data => ({
data: data
});
更新 1:
这是baseUrl:
export const baseUrl = "http://192.168.1.8:3001/";
请帮我看看有什么问题。
【问题讨论】:
-
你遇到了什么错误?
-
您的端点不应该是
fetch(baseUrl + "db.json"),因为您正在观看该文件而不是dishes?您的服务器上db.json中是否有可用的GET /dishes路由?如果您可以共享db.json中定义的错误消息和路由,可能会有所帮助。 -
您还设置了自定义端口
3001,而不是默认的3000。这需要添加到baseUrl例如:http://localhost:3001/<route> -
我已经更新了我的问题。请再看一遍。
-
我没有任何错误。我没有收到来自 JSON.server 的任何数据。 @Clarity