我使用 twitter API 在 node.js 和 javascript 中构建了一个小型应用程序,该应用程序从用户那里获取关键字输入,然后使用该关键字显示一些最近的推文。它在所有浏览器上的本地主机中运行良好。但是当我部署到 Heroku 时,它只能在 Chrome 中运行。在 Firefox 中,我收到此错误:Uncaught (in Promise) SyntaxError: JSON.parse: Uncaught End of data at line 1 column 1 of the JSON data。我收到一个压缩推文数组,其中数组中的每个元素的格式如下:{"text": "this is a tweet", "user": "@username", "url": "twitter.com/这条推文”}。我已经在数组本身上完成了 JSON.stringify。所以我的问题特别是我可能需要做什么来解决这个问题,但更一般地说,我很好奇为什么我的 JSON 解析在 Chrome 上可以正常工作,但在 Firefox 上却不行。
1 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
如果您查看错误消息,您会发现它在第一个字符上被捕获,这意味着提供给 JSON.parse() 的字符串甚至不以有效字符开头,例如“{”。尝试注销服务器返回给您的内容 - 这样做您可能会很快找到问题。
如果您使用 fetch,一种可能的情况是服务器实际上返回错误(带有 4xx 或 5xx 状态代码的错误)。fetch() 不会抛出状态代码错误,只会抛出网络错误,因此如果您没有正确检查错误代码,您可能会尝试将错误消息解释为 JSON 数据。
添加回答
举报
0/150
提交
取消