首页 > 解决方案 > JSON问题似乎应该有效

问题描述

说我在位置 0 的 JSON 中有一个意外的标记 <。知道有什么问题吗?可能很简单,但我仍在学习。

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

标签: javascriptjsonreactjs

解决方案


该响应不是 JSON 响应,并且很可能是具有 400 或 500 错误代码范围的 HTML 错误页面。

看来你正在使用 fetch 所以你可以改变那个函数说

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

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

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

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

推荐阅读