未捕获(承诺)SyntaxError:JSON输入Promise.then意外结束。然后(异步)

时间:2019-04-09 16:20:20

标签: reactjs

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

未捕获(承诺)SyntaxError: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 个答案:

答案 0 :(得分:1)

当您收到的响应不是JSON时,会发生此错误Uncaught (in promise) SyntaxError: Unexpected end of JSON input Promise.then (async)。错误发生在这一部分:

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

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

您可以尝试进行console.log来查看响应,然后在问题中提供答案。