【发布时间】:2021-10-04 10:57:54
【问题描述】:
我需要使用 JS 从 localhost 服务器获取 JSON 数据。
获取请求抛出错误:
未捕获(承诺中)语法错误:JSON.parse:JSON 数据的第 1 行第 1 列的数据意外结束
看起来答案是空的,但是当我打开浏览器开发工具时,我可以在网络部分看到 JSON 数据。
fetch(url, init)
.then(res => res.json()) //return the error
fetch(url, init)
.then(res => res.text()) //return an empty string
我在网络部分看到的结果格式正确,当我复制/粘贴它以手动使用 JSON.parse() 时,我得到了正确的结果。
【问题讨论】:
-
查看控制台中是否有 CORS 错误 - 如果没有则显示 JSON 示例和
-
我猜后端输出中有一些隐藏的警告。看看你收到的原始消息,你会发现问题
-
您的后端很可能没有返回有效的 JSON。有时,如果您的 url 不正确并且后端或代理返回默认的未找到 html 页面,则会发生这种情况。尝试在浏览器的开发者工具中检查请求,看看你得到了什么响应。
标签: javascript json fetch