【问题标题】:JSON.parse() does not work on Linux and MacJSON.parse() 在 Linux 和 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。如果您实际上得到的是字符串"&lt;anonymous&gt;",那么显然这不是 JSON。
  • 该错误几乎总是表明返回了 html 或 xml 内容,而不是 json。使用开发者工具网络选项卡检查实际请求。您可以查看使用的 url,检查状态并检查响应正文
  • 检查 json 数据的编码。并在解析前打印response
  • 不,JSON.parse 没有损坏。响应不是 JSON 字符串,因此无法解析。
  • @programandoconro 这没有任何意义。字符串化一个不是 json 的字符串不会有帮助

标签: javascript linux


【解决方案1】:

看来您的回答是正确的。 我认为您需要在后端检查您的表单和模型。 如果表单无效或模型包含 null=true 等等。 我的意思是你会从后端对你的响应进行故障排除。

【讨论】:

  • 啊,我明白了,我去看看
  • 这不是答案,应该删除。使用评论区讨论和提出建议
  • 谢谢元宇,错误在后端代码中,当我修复模型时,它运行良好。感谢您的提示!
猜你喜欢
  • 2011-11-01
  • 2016-01-31
  • 2013-02-01
  • 1970-01-01
  • 2015-02-28
  • 1970-01-01
  • 1970-01-01
  • 2015-04-08
  • 1970-01-01
相关资源
最近更新 更多