wake-up-neo.net

JavaScript-Fehler (Nicht erfasster SyntaxError: Unerwartetes Ende der Eingabe)

Ich habe JavaScript-Code, der in FireFox funktioniert, jedoch nicht in Chrome oder IE. 

In der Chrome JS Console bekomme ich die folgende Fehlermeldung: 

Msgstr "Nicht abgerufener SyntaxError: Unerwartetes Ende der Eingabe".

Der von mir verwendete JavaScript-Code lautet:

<script>
 $(function() {
 $("#mewlyDiagnosed").hover(function() {
    $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
 }, function() {
    $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
 });
</script>

Der Fehler befindet sich in der letzten Zeile, nämlich });.

178
user482375

Fügen Sie einen zweiten }); hinzu.

Wenn der Code richtig eingerückt ist, wird er gelesen

$(function() {
    $("#mewlyDiagnosed").hover(function() {
        $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
    }, function() {
        $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
    });
MISSING!

Sie haben niemals die äußere $(function() { geschlossen.

360
SLaks

In meinem Fall habe ich versucht, eine leere JSON zu analysieren:

JSON.parse(stringifiedJSON);

Mit anderen Worten, was passiert ist, war folgendes:

JSON.parse("");
85
falsarella

http://jsbeautifier.org/ ist hilfreich, um den minimierten JS-Code einzurücken.

Mit Google Chrome können Sie auch "Pretty Print" verwenden. Der Beispiel-Screenshot unten zeigt jquery.min.js von Stack Overflow direkt in meinem Browser eingerückt :)

enter image description here

36
Hugo

Wenn Sie Ihren Code ein wenig formatieren, haben Sie nur die innere Hover-Funktion geschlossen. Sie haben die Außenteile, die unten markiert sind, nicht geschlossen.

$(// missing closing)
 function() { // missing closing }
     $("#mewlyDiagnosed").hover(
        function() {
            $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
        }, 
        function() {
            $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
        });
14
hvgotcodes

In meinem Fall war es ein einfaches doppeltes Anführungszeichen Ausgabe in meinem Bookmarklet . Denken Sie daran, nur einfache Anführungszeichen für Bookmarklets zu verwenden. Nur für den Fall, dass dies jemandem hilft. 

5
Yëco

Dieser Fehler wird hauptsächlich durch leere zurückgegebene ajax-Aufrufe verursacht, wenn versucht wird, eine leere Json zu analysieren. 

Um diesen Test zu lösen, wenn die zurückgegebenen Daten leer sind 

           $.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);
                         }
                     }
           });
3

Ich habe diese Fehlermeldung erhalten, als ich versuchte, ein Javascript-Bookmarklet zu schreiben. Ich konnte nicht herausfinden, was es verursachte. Irgendwann habe ich versucht, das Bookmarklet über die folgende Website mit einer URL zu codieren: http://mrcoles.com/bookmarklet/ und dann ist der Fehler verschwunden, sodass es ein Problem mit bestimmten Zeichen im Javascript-Code gewesen sein muss als spezielle URL-Steuerzeichen interpretiert.

3
user280109

Ich bekam dies, seit ich einen Kommentar in einer Datei hatte, die ich zu meiner JS hinzufügte. Dies ist ein unangenehmer Grund für das, was los ist. Wenn Sie jedoch auf die VM-Datei klicken, die vorgerendert wurde und den Fehler abfängt, werden Sie feststellen, was genau ist Der Fehler war, in meinem Fall war es einfach unkommentiert, den von mir verwendeten Code zu kommentieren.

0
Jack Hales

In meinem Fall wurde es durch einen fehlenden (0) in javascript:void(0) in einem Anker verursacht.

0
Sam

Ich habe auch diesen Fehler erhalten, der auf das Ende des letzten Skriptblocks auf einer Seite zeigt, nur um festzustellen, dass der Fehler tatsächlich durch Klicken auf ein Element mit einem onclick="pagename" anstelle von onclick="window.location='pagename'" verursacht wurde. Es ist nicht immer eine fehlende Klammer!

0
justanotherguy