Рассмотрим решение одной из часто встречаемых в консоли браузера ошибок Java Script — Uncaught SyntaxError: Unexpected token.
Для решения проблемы перейдите на строку с ошибкой (на изображении выше она под номером 23) и проверьте эту строку, а так же ближайшие к ней строки на наличие открывающего и закрывающего его элемента. Как правило вы обнаружите, что какой-то парный элемент отсутствовал.
Сообщение в консоли Unexpected / связано с регулярными выражениями. В таком случае номер строки в консоли указан верно.
Сообщение в консоли Unexpected ; обычно вызвано символом «;» внутри литерала объекта или массива, или списка аргументов вызова функции. В таком случае номер строки в консоли указан верно.
Для наглядности можно рассмотреть следующий код:
Консоль указывает на 23 строку, на ней мы видим фигурную скобку. Следующая закрывающая фигурная скобка находится на 27 строке. Но если посмотреть внимательнее, она относится к функции на 22 строке. Следовательно мы имеем открытую скобку на 23 строке, а закрывающая отсутствует. В итоге ошибка Uncaught SyntaxError: Unexpected token. Для решения ставим закрывающий элемент на 25 строке.
Итак, легко понять, что Unexpected token на самом деле получается благодаря невнимательности или случайному удалению парного элемента. Как правило быстрее найти ошибку помогает правильное форматирование когда.
Эта ошибка возникает, когда перемещаю код jquery (отправляет данные на сервер node js) в отделный файл. Когда скрипт в одном файле с HTML, такой ошибки нету. Почему так происходит.
2 ответа 2
На сервере задан обработчик запросов
он срабатывается при любом запросе.
Если пришел POST запрос — получает данные, во всех остальных случаях возвращает содержимое файла index_ajax_post.html
Поэтому в случае
В ответ получается содержимое html файла, и происходит ошибка при попытке выполнить его как javascript.
В качестве решения нужно добавить проверки какие именно файлы запрашиваются, по аналогии с примером:
Вы поместили в js файл вместе с кодом также и тэги . Уберите их оттуда.
Хорошо. Неправильно указан путь к файлу node_ajax_post_jquery.js , сервер возвращает html страницу для ошибки "404 Not Found", которая содержит тэги, то есть самый первый символ — "
Спасибо за ваш ответ на Stack Overflow на русском!
- Пожалуйста, убедитесь, что публикуемое сообщение отвечает на поставленный вопрос. Предоставьте как можно больше деталей, расскажите про проведенное исследование!
- Просьб помощи, уточнений или ответов на темы не относящиеся к вопросу.
- Ответов основанных на мнениях; приводите аргументы основанные только на реальном опыте.
Также, обратите внимание на заметку в справочном центре о том, как писать ответы.
Связанные ошибки: Expected ), missing ) after argument list
Интерпретатор JavaScript что-то ожидал, но не обнаружил там этого. Обычно вызвано пропущенными фигурными, круглыми или квадратными скобками.
Токен в данной ошибке может быть разным — может быть написано “Unexpected token ]”, “Expected <” или что-то еще.
Как исправить ошибку: иногда номер строки не указывает на правильное местоположение, что затрудняет исправление ошибки.
Ошибка с [ ] < >( ) обычно вызвано несовпадающей парой. Проверьте, все ли ваши скобки имеют закрывающую пару. В этом случае, номер строки обычно указывает на что-то другое, а не на проблемный символ.
Unexpected / связано с регулярными выражениями. Номер строки для данного случая обычно правильный.
Unexpected; обычно вызвано символом; внутри литерала объекта или массива, или списка аргументов вызова функции. Номер строки обычно также будет верным для данного случая.