Разбор JSON в Firefox и Chrome (ошибка: JSON.parse: неожиданный конец данных в строке 1, столбце 1 данных JSON)

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

Он отлично работает на локальном хосте во всех браузерах. Но когда я развертываю Heroku, он работает только в Chrome.

В Firefox я получаю эту ошибку: Uncaught (в обещании) SyntaxError: JSON.parse: неожиданный конец данных в строке 1, столбце 1 данных JSON.

Я получаю массив сжатых твитов, где каждый элемент массива имеет вид {"text": "это твит", "user": "@username", "url": "twitter.com/ этот твит"}. Это сам массив, для которого я выполнил JSON.stringify.

Итак, мой вопрос, в частности, заключается в том, что мне может понадобиться сделать, чтобы исправить это, но в целом мне любопытно, почему мой синтаксический анализ JSON будет нормально работать в Chrome, но не в Firefox.

Пожалуйста, вставьте свой код

Harshana 11.12.2020 02:19
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
742
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы посмотрите на сообщение об ошибке, вы увидите, что оно перехватывается на самом первом символе, а это означает, что строка, передаваемая в JSON.parse(), даже не начинается с допустимого символа, например "{". Попробуйте выйти из системы, что сервер возвращает вам - вы, вероятно, быстро обнаружите проблему, сделав это.

Один из вероятных сценариев, если вы используете выборку, заключается в том, что сервер на самом деле возвращает ошибку (что-то с кодом состояния 4xx или 5xx). fetch() не выдает ошибки кода состояния, только сетевые ошибки, поэтому, если вы неправильно проверяете код ошибки, возможно, вы пытаетесь интерпретировать сообщение об ошибке как данные JSON.

Другие вопросы по теме