Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获(承诺中)SyntaxError:获取API时React中的输入意外结束_Javascript_Node.js_Reactjs - Fatal编程技术网

Javascript 未捕获(承诺中)SyntaxError:获取API时React中的输入意外结束

Javascript 未捕获(承诺中)SyntaxError:获取API时React中的输入意外结束,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,在React中尝试使用fetch(api)时遇到错误 fetch(url, {mode: "no-cors"}) .then(response => console.log(response.json())) .catch(error => console.log('Error:', error)); 错误消息是: 承诺{:语法错误:输入意外结束 at}calendarCommentation.js:22未捕获(承诺中)语法错误:意外 输入结束 我正在使用react和react路由

在React中尝试使用fetch(api)时遇到错误

fetch(url, {mode: "no-cors"})
.then(response => console.log(response.json()))
.catch(error => console.log('Error:', error));
错误消息是:

承诺{:语法错误:输入意外结束 at}calendarCommentation.js:22未捕获(承诺中)语法错误:意外 输入结束

我正在使用
react
react路由器dom
。我看到另一个答案是添加一个服务端点的头或其他东西。但是我不能修改服务器。还有别的办法解决这个问题吗?

你说:

这意味着“不做任何需要CORS的事情。不报告CORS相关错误”

如果您使用此命令发出跨来源请求,则响应将为空。未经CORS许可,您无法读取实际响应

因为您得到的响应是空的,所以在找到任何有效的JSON之前,您就到达了响应的末尾(即,
.JSON()
期望找到JSON,并且意外地在找到任何JSON之前到达输入的末尾)

使用:


但是我不能修改服务器


如果服务器未通过CORS授予权限,而您无法更改,则从其他地方获取数据(例如,您控制的源上的代理脚本)。

错误出现在服务器返回的JSON中。使用浏览器网络选项卡检查HTTP响应;这可能是显而易见的。如果API(url)位于不同的域中,它可能不允许您的页面直接向其发出请求。在这种情况下,您所能做的就是在自己的域中为API创建自己的代理。在浏览器开发工具网络中检查实际请求本身,并查看响应体中返回的内容
{mode: "no-cors"}
{mode: "cors"}