【发布时间】:2018-04-23 00:26:41
【问题描述】:
在我正在构建 React 16 的表单中,我正在使用导师来获得一些想法,对于我的 componentDidMount 模拟,以下代码引发了一个我不理解或不知道如何解决的错误。我仍然可以运行该应用程序,但很好奇为什么会发生这种情况以及如何解决?
代码:
componentDidMount() {
fetch('./fake_db.json')
.then(res => res.json())
.then(data => {
this.setState({
mbArea: data.mbArea,
learningObjs: data.learningObjs,
mbPhases: data.mbPhases,
attendCount: data.attendCount,
trainDate: data.trainDate,
trainCoord: data.trainCoord,
trainFormat: data.trainFormat,
mbStat: data.mbStat,
stakeHolders: data.stakeHolders,
custType: data.custType,
custDay: data.custDay,
mbPartner: data.mbPartner,
mbOther: data.mbOther
});
});
}
错误是:
请给点意见和意见?
非常感谢。
【问题讨论】:
-
该错误告诉您您收到的不是 json。 HTML 通常以
<开头,所以我假设您的路线返回 html。 -
检查开发者控制台上的网络标签。您没有从服务器获取 json
-
尝试控制台记录每个然后传入的数据以确保数据可以正确转换错误很明显,它需要一个特定的字符,但读取数据不正确,因此您必须返回跟踪并观察数据差异并查看错误在哪里,我们无法访问您的后端。
-
检查你的json文件的格式很可能传递给它的数据不匹配json格式jsonformatter.curiousconcept.com
标签: javascript json node.js reactjs