提问者:小点点

未捕获(promise中)语法错误:JSON输入promise的意外结束。然后(异步)


我正在尝试将数据添加到我的数据库中。在执行fetch方法时,我收到以下错误

未捕获(promise中)语法错误:JSON输入promise的意外结束。然后(异步)

我尝试过重新配置promise,但不确定我是否正确地这样做。

addNewBeer() {
    fetch("https://beer.fluentcloud.com/v1/beer/", {
      body: "{\"name\":\"\",\"likes\":\"\"}",//input beer name and like amount ex "{\"name\":\"Michelob Ultra\",\"likes\":\"-5\"}"
      headers: {
        "Content-Type": "application/json"
      },
      method: "POST"
      })
      .then(response => response.json())
      .then(responseJson => {
        this.setState({
          isLoaded: true,
          dataSource: this.state.dataSource + responseJson,
      });
    })
  }

共1个答案

匿名用户

当您得到的响应不是JSON时,会发生JSON输入Promise.then(async)的意外结束。错误发生在这部分:

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

如果省略该部分,您将看到res不是JSON,可能是字符串。

您可以尝试使用控制台。记录,查看答案,然后在问题中提供答案。