【问题标题】:JSON issue seems like it should workJSON问题似乎应该有效
【发布时间】:2018-07-23 17:12:54
【问题描述】:

说我在位置 0 的 JSON 中有一个意外的标记

> 29 |   .then(response => response.json())
  30 |   .then(user => {
  31 |     if (user.id) {
  32 |       this.props.loadUser(user)
         this.props.onRouteChange('home');
        }
       })
      }

【问题讨论】:

  • 响应为 undefined 或 null 。 .json 崩溃的原因
  • 你的响应是一个html页面,而不是json。
  • 记录你的回应,看看你是否得到了什么

标签: javascript json reactjs


【解决方案1】:

我曾经在服务器返回错误时得到这个。例如,它不会返回 json,而是返回一些 html 标记:

<!doctype html>

那个意想不到的符号可能是html标签的左括号。

【讨论】:

    【解决方案2】:

    响应不是 JSON 响应,很可能是包含 400 或 500 错误代码范围的 HTML 错误页面。

    您似乎正在使用 fetch,因此您可以将该函数更改为 say

    .then(response => response.ok && response.json())
    

    这将在假设它是 JSON 之前检查它是否是一个好的结果,但您可能应该添加一个 .catch() 来捕捉这些不是您预期的响应的时间。

    您很可能可以在网络选项卡中查看错误,或者在您的捕获中执行以下操作:

    .catch(response => response.text().then(errText => console.log(errText))
    

    【讨论】:

      猜你喜欢
      • 2022-01-14
      • 2011-03-14
      • 2021-08-02
      • 2022-06-22
      • 2011-01-27
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 2012-09-01
      相关资源
      最近更新 更多