reactjs - 为什么我在从 ReactJS 到 MongoDB 的获取请求中得到空数组?
问题描述
我正在尝试从 React 中的 MongoDB 文档中获取所有文章。当我用 Postman 进行测试时,它在 NodeJS 的后端完美地工作。但是在 Frontend 和 React 中,我得到了空数组。如何解决这个问题。
Server.js(后端)
app.get('/api/articles', async (req, res)=>{
const client = await MongoClient.connect('mongodb://localhost:27017', {useNewUrlParser:true, useUnifiedTopology:true})
const db = client.db('my-blog')
const articleInfo= await db.collection('articles').find({}).toArray(function(err, result){
if (err) console.log(err)
res.status(200).send(result)
client.close()
})
})
articlePage.js(前端)
componentDidMount(){
const requestOptions = {
method: 'GET',
headers: { 'Content-Type': 'application/json' },
};
const fetchdata = fetch('/api/articles/').then(res=>res.json())
.then(data=>this.setState({articles:data}))
console.log(this.state.articles)
}
在 package.json 中设置 API 地址proxy:http://localhost:8000
如何在 React 中从 MongoDB 获取文档数据?
解决方案
首先,检查 API 调用是否从 React 应用程序传递到服务器。如果有,则检查网络中的响应代码。在您的情况下,200 是您从 API 获得所需结果的地方。如果您没有得到所需的结果,请检查您的集合和文档名称以及您在查询中传递的参数。
推荐阅读
- node.js - 元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“{}”
- windows-10 - Gradle 同步失败:无法使用类 'org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection' 投射对象 'main classesDirs'
- python - np.where() 和条件运算符的问题 - “ValueError:对于参数“就地”预期类型 bool,接收类型 Series。”
- python - Pandas 数据框列减法,处理 NaN
- android - 如何从 DialogFragment 中删除标题?
- business-objects - 将指标计算逻辑导出到文本文件
- java - Api 级别 29 及以上的 Android 点对点 wifi 连接问题
- flutter - 在 get_it Flutter 中注册依赖的异步服务定位器
- django - Django REST Serializers - 在创建新对象时传递一个值
- c# - 如何将可选字符串注释为不可为空