Ошибка 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 171

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 от переполнения стека красиво отступ прямо из моего браузера:)

enter image description here

форматирование кода немного, вы только закрыли внутреннюю функцию наведения. Вы не закрыли внешние части, отмеченные ниже....

$(// 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, действительно неудобная причина того, что происходит - хотя при нажатии на вот предварительно и замечает ошибки, вы узнаете, что именно ошибка была, в моем случае это был просто удалив некоторые код, который я использовал.

в моем случае это было вызвано отсутствием (0) на javascript:void(0) в якорь.