JavaScript-fout (Uncaught SyntaxError: Onverwacht einde van invoer)

Ik heb JavaScript-code die wel werkt in FireFox, maar niet in Chrome of IE.

In de Chrome JS Console krijg ik de volgende foutmelding:

“Uncaught SyntaxError: Unexpected end of input”.

De JavaScript-code die ik gebruik is:

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

Er staat dat de fout op de laatste regel staat, namelijk });


Antwoord 1, autoriteit 100%

Voeg een tweede });toe.

Als de code correct is ingesprongen, luidt uw code

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

Je hebt de buitenste $(function() {nooit gesloten.


Antwoord 2, autoriteit 22%

In mijn geval probeerde ik een lege JSON te ontleden:

JSON.parse(stringifiedJSON);

Met andere woorden, wat er gebeurde was het volgende:

JSON.parse("");

Antwoord 3, autoriteit 9%

http://jsbeautifier.org/is handig om je verkleinde JS-code te laten inspringen.

Ook met Google Chromekunt u “mooie afdruk” gebruiken. Zie de voorbeeldscreenshot hieronder met jquery.min.jsvan Stack Overflow netjes ingesprongen rechtstreeks vanuit mijn browser 🙂

voer hier de afbeeldingsbeschrijving in


Antwoord 4, autoriteit 3%

Als je je code een beetje formatteert, heb je alleen de innerlijke hover-functie gesloten. Je hebt de buitenste delen, hieronder aangegeven, niet gesloten:

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

Antwoord 5

In mijn geval werd het een eenvoudige dubbele aanhalingstekens-probleem in mijn bookmarklet, denk eraan om alleen enkele aanhalingstekens te gebruiken op bookmarklets. Voor het geval dit iemand helpt.


Antwoord 6

In mijn geval werd het veroorzaakt door een ontbrekende (0)in javascript:void(0)in een anker.


Antwoord 7

Deze fout wordt voornamelijk veroorzaakt door lege geretourneerde ajax-aanroepen bij het ontleden van een lege JSON.

Om deze test op te lossen als de geretourneerde gegevens leeg zijn

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

Antwoord 8

Ik kreeg deze foutmelding toen ik een javascript-bookmarklet probeerde te schrijven. Ik kon niet achterhalen wat de oorzaak was. Maar uiteindelijk probeerde ik de bookmarklet met URL te coderen, via de volgende website: http://mrcoles.com/bookmarklet/en toen verdween de fout, dus het moet een probleem zijn geweest waarbij bepaalde tekens in de javascript-code werden geïnterpreteerd als speciale URL-controletekens.


Antwoord 9

Ik kreeg dit omdat ik een opmerking had in een bestand dat ik aan mijn JS aan het toevoegen was, echt een ongemakkelijke reden voor wat er aan de hand was – hoewel bij het klikken op het VM-bestand dat vooraf is weergegeven en vangt de fout, zul je ontdekken wat de fout precies was, in mijn geval was het gewoon het verwijderen van een code die ik gebruikte.


Antwoord 10

Ik kreeg ook deze fout die naar het einde van het laatste scriptblok op een pagina wees, maar ik realiseerde me dat de fout eigenlijk kwam door te klikken op een element met een onclick="pagename"in plaats van onclick="window.location='pagename'". Het is niet altijd een ontbrekend haakje!


Antwoord 11

Ik denk dat het bijna elke javascript-/typefout in uw toepassing kan zijn.
Ik probeerde de ene bestandsinhoud na de andere te verwijderen en vond uiteindelijk de typefout.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

fourteen + 13 =

Other episodes