Wenn Sie jQuery, Angular JS oder einfaches altes JavaScript verwenden und den Fehler „Uncaught ReferenceError: $ is not defined“ erhalten, was bedeutet, dass $ entweder eine Variable oder eine Methode ist, die Sie versuchen zu verwenden, bevor Sie sie mit dem Schlüsselwort var deklarieren. In jQuery ist es ein Kurzname für die Funktion jQuery() und wird am häufigsten in $(document).ready(function()) verwendet. Wenn Sie etwas mit jQuery machen, während das DOM geladen wird, und diese Fehlermeldung erhalten, bedeutet das, dass Ihr Browser ein Problem beim Laden der jQuery-Bibliothek hat, entweder aus dem Internet oder aus dem lokalen Dateisystem.
In diesem Artikel werden Sie einige der häufigsten Gründe für den „Uncaught ReferenceError: $ ist nicht definiert“-Fehler sehen und wie Sie diese lösen können, aber vorher lassen Sie uns einige Grundlagen über den gefürchteten „Uncaught ReferenceError: $ ist nicht definiert“-Fehler lernen.
Und wenn Sie modernes JavaScript lernen oder Ihre Fähigkeiten verbessern wollen, dann empfehle ich Ihnen den „The Complete JavaScript Course: Build Real Project von Jonas Scmedtmann auf Udemy. Es ist einer der besten und handlichsten Kurse, um ES 6 und andere neue Javascript-Features zu lernen.
Einer der häufigsten Gründe für solche Fehler ist, direkt mit jQuery anzufangen, ohne die JavaScript-Grundlagen zu kennen. Ich habe viele Webentwickler gesehen, die aus Java, C#, HTML und Python kommen und mit jQuery beginnen, ohne viel über JavaScript zu wissen.
Wenn Sie zufällig im gleichen Szenario arbeiten, empfehle ich Ihnen dringend, mindestens eines der guten JavaScript-Bücher für Anfänger zu lesen, z.B. Head First JavaScript. Denken Sie immer daran, dass jQuery eine Bibliothek ist, die auf JavaScript aufbaut. Sobald Sie JavaScript kennen, ist es viel einfacher, jeden jQuery-Fehler zu beheben.
Uncaught ReferenceError: X ist nicht definiert
Da JavaScript innerhalb des Browsers ausgeführt wird, wirft Ihr Browser wie Firefox, Chrome, Edge oder Internet Explorer diesen Fehler, wenn Sie eine Variable verwenden, die nicht definiert ist, z. B. wird der folgende Code diesen Fehler auslösen, aber sobald Sie die Variable mit dem Schlüsselwort var deklarieren, wird der Fehler verschwinden:
data; // ReferenceError: data is not definedvar data;data; // Kein Fehler mehr
Gleichermaßen erhalten Sie diesen Fehler, wenn Sie auf eine Methode zugreifen, bevor Sie sie deklariert haben, wie unten gezeigt:
process(); // ReferenceError : process ist nicht definiertprocess = function(){};process(); // Keine Fehler
Nun haben Sie gelernt, dass, wenn der Browser Uncaught ReferenceError wirft: $ ist nicht definiert auslöst, ist es an der Zeit, sich einige häufige Gründe anzuschauen, warum dieser Fehler bei der Verwendung von jQuery, AngularJS oder anderen JavaScript-Bibliotheken auftritt, die $ als Abkürzung verwenden.
1) Einer der häufigsten Gründe für „ReferenceError: $ ist nicht definiert“ in jQuery-basierten Anwendungen ist, dass das jQuery-Plugin vor der jQuery-Datei eingebunden wird. Da das jQuery-Plugin $ verwendet, wirft es „ReferenceError: $ is not defined“, wenn es nicht gefunden wird, was logisch ist, da jQuery erst dann geladen wurde.
<script src="/lib/jquery.plugin.js"></script><script src="/lib/jquery.min.js"></script>
Lösung: Binden Sie die Datei jquery.js vor allen jQuery-Plugin-Dateien ein.
<script src="/lib/jquery.min.js"></script><script src="/lib/jquery.plugin.js"></script>
2) Der zweithäufigste Grund für die Meldung „ReferenceError: $ is not defined“ in jQuery liegt am falschen Pfad, entweder ist es ein Tippfehler oder die jQuery-Datei wurde an einen anderen Ort verschoben, der Browser ist nicht in der Lage, die jQuery-Datei zu laden.
Eine Lösung für dieses Problem ist es, den Pfad zur jQuery-Bibliothek zu korrigieren. Wenn Sie jQuery von einem CDN herunterladen, können Sie auch die von Google gehostete jQuery-Datei verwenden, die fast immer verfügbar ist.
3) Ein weiterer bizarrer, aber häufiger Grund für „ReferenceError: $ is not defined“ in jQuery“ ist, dass Sie vielleicht offline arbeiten, aber jQuery aus dem Internet laden. Das ist einer der dummen Fehler, die jeder Web
Entwickler irgendwann einmal macht. Die Lösung ist einfach, entweder Sie verbinden sich mit dem Internet oder Sie verwenden eine lokale Kopie der jQuery-Bibliothek wie unten gezeigt:
<script src="/js/jquery.min.js"></script>