【问题标题】:JSON.parse error on server but not on localhost服务器上的 JSON.parse 错误,但本地主机上没有
【发布时间】:2019-08-07 16:28:32
【问题描述】:

我有一个 Angular8 前端,可以从 REST api 检索 JSON 响应。

当我在 localhost 上运行它时,一切正常,但如果我从远程服务器运行它,我会收到 JSON.parse 错误。 特别是,错误是:

ERROR SyntaxError: Unexpected token o in JSON at position 1

现在.. 我知道这个错误通常表明我正在尝试解析一个对象,但在这种情况下,我在整个项目中没有一个 JSON.parse 调用。

API 响应是由 jsonlint.com 确认的有效 JSON(并且我的本地主机能够处理它)。

我看到的唯一区别是,在服务器上,错误是由 main-es2015....js 触发的,而在 localhost 上,这个文件被简单地加载为 main.js 并且不会触发任何错误。

我对 Angular 开发还很陌生,所以我不知道如何进一步调试它。

【问题讨论】:

  • 你能让它把字符串化的版本记录到控制台,看看它吐出什么吗?
  • 这是一个 CORS 问题...
  • @WillAlexander 我不太确定该怎么做,因为我不知道它试图解析什么。我的代码中没有对 JSON.parse 的任何调用,但 main-es2015 有..
  • @MukulSharma CORS 问题通常会给我更多有意义的错误
  • 据我所知,Angular HttpClient 在后台使用 JSON.parse 来解析服务器响应。

标签: json angular rest syntax-error


【解决方案1】:

我在从本地存储中获取 json 对象时遇到了这个问题。您是否从本地存储中设置了一些可能是字符串化的 JSON 对象的初始值?可能是服务器上的本地存储中缺少该值,但不是本地存储,或者您在过去的某个时候不小心没有对对象进行字符串化,现在无法从中解析出值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 2015-10-22
    • 2017-01-09
    相关资源
    最近更新 更多