Ошибка JavaScript (Uncaught SyntaxError: неожиданный конец ввода)
У меня есть код JavaScript, который работает в FireFox, но не в Chrome или IE.
в консоли Chrome JS я получаю следующее сообщение об ошибке:
"Uncaught SyntaxError: неожиданный конец ввода".
код JavaScript, который я использую:
<script>
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
</script>
Он говорит, что ошибка в последней строке, которая является });
9 ответов:
добавить второй
});
.при правильном отступе, ваш код читает
$(function() { $("#mewlyDiagnosed").hover(function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); }); MISSING!
вы никогда не закрывали внешний
$(function() {
.
в моем случае я пытался разобрать пустой JSON:
JSON.parse(stringifiedJSON);
другими словами, произошло следующее:
JSON.parse("");
http://jsbeautifier.org/ полезно отступить ваш уменьшенный код JS.
С Google Chrome вы можете использовать "pretty print". См. пример скриншота ниже, показывающий
jquery.min.js
от переполнения стека красиво отступ прямо из моего браузера:)
форматирование кода немного, вы только закрыли внутреннюю функцию наведения. Вы не закрыли внешние части, отмеченные ниже....
$(// missing closing) function() { // missing closing } $("#mewlyDiagnosed").hover( function() { $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"}); }, function() { $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"}); });
в моем случае, это оказалась простые двойные кавычки в своем закладка помните, использовать только одинарные кавычки на букмарклеты. На всякий случай это кому-то поможет.
Я получил эту ошибку, когда пытался написать букмарклет javascript. Я не мог понять, что было причиной этого. Но в конце концов я попробовал URL-кодирование букмарклета, через следующий веб-сайт:http://mrcoles.com/bookmarklet/ и затем ошибка исчезла, так что это, должно быть, была проблема с определенными символами в коде javascript, интерпретируемыми как специальные символы управления URL.
эта ошибка в основном вызвана пустым возвращенным
ajax
вызовы, при попытке разобрать пустойJson
.чтобы решить этот тест, если возвращаемые данные пуста
$.ajax({ url: url, type: "get", dataType: "json", success: function (response) { if(response.data.length == 0){ // EMPTY }else{ var obj =jQuery.parseJSON(response.data); console.log(obj); } } });
Я получил это, так как у меня был комментарий в файле, который я добавлял в свой JS, действительно неудобная причина того, что происходит - хотя при нажатии на вот предварительно и замечает ошибки, вы узнаете, что именно ошибка была, в моем случае это был просто удалив некоторые код, который я использовал.