【发布时间】:2019-11-21 07:16:39
【问题描述】:
当我尝试在 React 中使用 fetch(api) this 时遇到错误。
fetch(url, {mode: "no-cors"})
.then(response => console.log(response.json()))
.catch(error => console.log('Error:', error));
错误信息是:
Promise {: SyntaxError: Unexpected end of input 在http://localhost:3000/static/js/main.chunk.js:420:46} CalendarCommentary.js:22 Uncaught (in promise) SyntaxError: Unexpected 输入结束
我正在使用react 和react-router-dom。我看到其他答案是添加服务器端点的标头或其他东西。但我无法修改服务器。有没有其他方法可以解决这个问题?
【问题讨论】:
-
错误在您的服务器返回的 JSON 中。使用浏览器网络选项卡检查 HTTP 响应;这可能很明显。
-
如果 API(url)在不同的域中,它可能不允许你的页面直接向它发出请求。在这种情况下,您所能做的就是在您自己的域中为 API 创建自己的代理。
-
在浏览器开发工具网络中检查实际请求本身并查看响应正文中返回的内容
标签: javascript node.js reactjs