Я не знаю синтаксисError JSON API Javascript - PullRequest
0 голосов
/ 31 октября 2019

Я создаю программу поиска изображений с использованием API-интерфейса flickr, и я застрял при определенной ошибке.

"Uncaught (в обещании) SyntaxError: Неожиданный токен <в JSON в асинхронной функции позиции 0 (асинхронная)getData @ index.js: 19 "</p>

Я не могу получить какие-либо данные из API. Может кто-нибудь объяснить, почему я получаю эту ошибку и как ее исправить?

Вот код JavaScript

const api_key = "123456789ABCDEFGH"; 
let quantity = "5";
const userSearch = document.getElementById("search-field"); // input search

async function getData() {
  const URL = `https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=${api_key}&per_page=${quantity}&tags=${encodeURIComponent(
    userSearch.value
  )}`;
  let response = await fetch(URL, { method: "GET" });
  let data = await response.json();
  return await data;  // HERE is data error.

Ответы [ 3 ]

1 голос
/ 31 октября 2019

Добавьте format=json param к вашему URL. По умолчанию эта конечная точка возвращает результаты в формате xml

0 голосов
/ 01 ноября 2019

Я решил это и объясню здесь, если это кому-то еще нужно. Также добавьте это: & nojsoncallback = 1`

  const URL = `https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=${api_key}&per_page=${quantity}&tags=${encodeURIComponent(
    userSearch.value
  )}&format=json&nojsoncallback=1`;




0 голосов
/ 31 октября 2019

Не работает, у меня это было раньше и удалено просто для того, чтобы попробовать, без него лучше работало. Теперь, когда я снова добавил, та же проблема ..

Если вы имеете в виду, как это:

  const URL = `https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=${api_key}&per_page=${quantity}&tags=${encodeURIComponent(
    userSearch.value
  )}&format=json`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...