извлечение JSON работает в узле, но завершается с ошибкой в ​​более широком (JSON.parse неожиданный конец данных в строке 1, столбец 1) - PullRequest
0 голосов
/ 30 ноября 2018

Я пытаюсь получить файл json из API, при использовании этого кода на node.js он прекрасно работает, и я вижу результаты, которые я ищу, но когда я пытаюсь использовать его из браузерапроисходит сбой и возвращается с сообщением об ошибке в заголовке.

async function searchVolumes(volume, url, apiKey) {
  let result = await fetch(url, {mode: 'no-cors'})
    .then(res => res.json())
    .then(json => json.results)
    .catch(error => console.log('Error reading data ' + error))

  return result
}

Я пробовал это в Firefox и Edge, и у меня одинаковая проблема в обоих из них, но проверяя вкладку сети, я вижу результати JSON в порядке без ошибок, и, как я уже сказал, в начале он работает и на узле.

1 Ответ

0 голосов
/ 01 декабря 2018

Я изменил его по ссылкам sideshowbarker, удалил режим no-cors и добавил прокси-сервер cors в любом месте, и теперь он работает:

const proxy = 'https://cors-anywhere.herokuapp.com/'
url += proxy

async function searchVolumes(volume, url, apiKey) {
  let result = await fetch(url)
    .then(res => res.json())
    .then(json => json.results)
    .catch(error => console.log('Error reading data ' + error))

  return result
}
...