我正在尝试在Heroku上部署MERN应用,但是获取API出现问题。以下代码给出了控制台中的错误“未捕获(承诺)SyntaxError:JSON中位置0的意外令牌E” 。
getDataFromDb = () => {
fetch('https://product-listing-listing.herokuapp.com/api/getData')
.then((data) => data.json())
.then((res) => this.setState({ data: res.data }));
};
跳过根,仅写fetch('/api/getData')
也会出现相同的错误。
当我使用npm在本地运行应用程序时,从以下代码开始,我不会收到任何错误:
getDataFromDb = () => {
fetch('http://localhost:3001/api/getData')
.then((data) => data.json())
.then((res) => this.setState({ data: res.data }));
};
我在做什么错了?
答案 0 :(得分:0)
Uncaught (in promise) SyntaxError: Unexpected token E in JSON at position 0
表示fetch('https://product-listing-listing.herokuapp.com/api/getData')
返回无效的JSON结果。
尝试
getDataFromDb = () => {
fetch('https://product-listing-listing.herokuapp.com/api/getData')
.then((data) => data.text())
.then((res) => console.log(res));
};
检查fetch
返回什么。