JSON.parse() 在 Linux 和 Mac 上不起作用
Posted
技术标签:
【中文标题】JSON.parse() 在 Linux 和 Mac 上不起作用【英文标题】:JSON.parse() does not work on Linux and Mac 【发布时间】:2022-01-24 04:37:40 【问题描述】:我收到来自后端的 json 响应,需要在前端解析 json。 这是我的代码:
this.on("success", function(file, response, action)
response = JSON.parse(response);
console.log(response.id);
);
运行代码时,它说如下。
Uncaught SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
注意:代码在 Windows 上运行良好,这里是响应。
message: 'Uploaded successfully...', id: 'a690d9b3-4f1e-48a0-83ac-42a2ea7cb904'
【问题讨论】:
也许你应该打印你的response
。如果您实际上得到的是字符串"<anonymous>"
,那么显然这不是 JSON。
该错误几乎总是表明返回了 html 或 xml 内容,而不是 json。使用开发者工具网络选项卡检查实际请求。您可以查看使用的 url,检查状态并检查响应正文
检查 json 数据的编码。并在解析前打印response
不,JSON.parse
没有损坏。响应不是 JSON 字符串,因此无法解析。
@programandoconro 这没有任何意义。字符串化一个不是 json 的字符串不会有帮助
【参考方案1】:
看来您的回答是正确的。 我认为您需要在后端检查您的表单和模型。 如果表单无效或模型包含 null=true 等等。 我的意思是你会从后端对你的响应进行故障排除。
【讨论】:
啊,我明白了,我去看看 这不是答案,应该删除。使用评论区讨论和提出建议 谢谢元宇,错误在后端代码中,当我修复模型时,它运行良好。感谢您的提示!以上是关于JSON.parse() 在 Linux 和 Mac 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
“JSON.parse”和“JSON.stringify”有啥区别?