Проблема с получением API при развертывании приложения MERN в Heroku - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь развернуть приложение MERN на Heroku, но у меня проблема с API выборки. Следующий код выдает ошибку "Uncaught (в обещании) SyntaxError: неожиданный токен E в JSON в позиции 0" в консоли.

getDataFromDb = () => {
   fetch('https://product-listing-listing.herokuapp.com/api/getData')
      .then((data) => data.json())
      .then((res) => this.setState({ data: res.data }));
};

И пропуск root просто запись fetch('/api/getData') выдает ту же ошибку.

В то время как при локальном запуске приложения с npm начинаются со следующего кода, я не получаю ошибок:

getDataFromDb = () => {
   fetch('http://localhost:3001/api/getData')
      .then((data) => data.json())
      .then((res) => this.setState({ data: res.data }));
};

Что такое Я делаю не так?

1 Ответ

0 голосов
/ 29 марта 2020

Uncaught (in promise) SyntaxError: Unexpected token E in JSON at position 0 означает, что fetch('https://product-listing-listing.herokuapp.com/api/getData') возвращает неверный JSON результат.

попытайтесь

getDataFromDb = () => {
   fetch('https://product-listing-listing.herokuapp.com/api/getData')
      .then((data) => data.text())
      .then((res) => console.log(res));
};

проверить, что fetch возвращает.

...