Неперехваченная (в обещании) ошибка синтаксиса: неожиданное завершение обещания ввода JSON.затем (асинхронный)

#reactjs

#reactjs

Вопрос:

Я пытаюсь добавить данные в свою базу данных. При выполнении моего метода выборки я получаю следующую ошибку

Неперехваченная (в обещании) ошибка синтаксиса: неожиданное завершение обещания ввода JSON.затем (асинхронный)

Я попытался переконфигурировать обещание, но не уверен, правильно ли я это делаю.

 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. Проблема не в коде, который вы опубликовали, а в полученном вами ответе. Только вы можете его отладить.

Ответ №1:

Эта ошибка Uncaught (in promise) SyntaxError: Unexpected end of JSON input Promise.then (async) возникает, когда полученный вами ответ не является JSON. Ошибка возникает в этой части:

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

Если вы опустите эту часть, вы увидите, что res это не JSON, вероятно, строка.

Вы можете попытаться выполнить a console.log , чтобы узнать, каков ответ, а затем указать это в своем вопросе.