【发布时间】:2018-10-28 15:22:46
【问题描述】:
我正在尝试在我的反应应用程序中创建下拉组件。 我的反应如下:
componentDidMount() {
let initialBrands = [];
fetch('http://localhost:3000/brands').then((response) => {
return response.json();
})
.then(data => {
let brandFromApi = data.map(brand => { return {value: brand, display: brand} })
this.setState({ brands: [{value: '', display: '(Select your favourite brand)'}].concat(brandFromApi) });
}).catch(error => {
console.log(error);
});
}
但是在编译页面时出现以下错误:
SyntaxError: Unexpected token < in JSON at position 0
at App.js:82
除了上述之外,我不能有任何其他错误。 但是,我的下拉列表未填充。 任何人,请告诉我问题出在哪里?
【问题讨论】:
-
使用浏览器的“网络”工具查看HTTP请求的实际内容是什么。
-
您可能收到的是 HTML 格式的错误消息,而不是您期望的 JSON
-
我只能在控制台中看到这个错误。
-
如果你在控制台打印这个:
console.log('data: ' + JSON.stringify(data));console.log('type of data: ' + typeof data);在let brandFromApi = ...之前,它会显示什么? -
检查您的 App.js 代码,第 82 行,如错误所示...如果您发布整个代码会很有帮助,但我和@Bergi 有相同的想法
标签: javascript reactjs spring-boot