591 Stimmen

JQuery - $ ist nicht definiert

Ich habe eine einfache Jquery-Klick-Ereignis

<script type="text/javascript">
    $(function() {
        $('#post').click(function() {
            alert("test"); 
        });
    });
</script>

und eine Jquery-Referenz, die in der site.master definiert ist

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>

Ich habe überprüft, dass das Skript korrekt aufgelöst wird, ich kann das Markup sehen und das Skript direkt in Firebug anzeigen, also muss ich gefunden werden. Allerdings bin ich immer noch bekommen:

$ ist nicht definiert

und keine der Jquery funktioniert. Ich habe auch versucht, die verschiedenen Variationen von diesem wie $(document).ready und jQuery usw.

Es ist ein MVC 2 app auf .net 3.5, ich bin sicher, ich bin wirklich dumm, überall auf Google sagt zu überprüfen, die Datei korrekt referenziert wird, die ich überprüft habe und wieder überprüft, bitte beraten! :/

1voto

Anju Batta Punkte 94

Dies ist das häufigste Problem, um es zu lösen, müssen Sie einige Punkte überprüfen

  1. Jquery-Hauptbibliothek einbinden
  2. Cross-Browser-Problem prüfen
  3. Bibliothek oben auf dem Jquery-Code hinzufügen
  4. Prüfen Sie, ob CDNs möglicherweise blockiert sind.

Alle Einzelheiten finden Sie in diesem Blog hier klicken

1voto

cedd Punkte 1609

Ich hatte dieses Problem einmal ohne ersichtlichen Grund. Es trat lokal auf, während ich den Aspnet-Entwicklungsserver durchlief. Es hatte funktioniert, und ich habe alles in einen Zustand zurückversetzt, in dem es zuvor funktioniert hatte, aber es funktionierte immer noch nicht. Ich schaute in den Chrome-Debugger und jquery-1.7.1.min.js wurde ohne Probleme geladen. Das war alles sehr verwirrend. Ich weiß immer noch nicht, was das Problem war, aber das Schließen des Browsers, das Schließen des Entwicklungsservers und der erneute Versuch brachten das Problem aus der Welt.

1voto

Daniel Adenew Punkte 7235
  1. Prüfen Sie, ob der genaue Pfad Ihrer Jquery-Datei enthalten ist.

    <script src="assets/plugins/jquery/jquery.min.js"></script>

wenn Sie dies am unteren Rand Ihrer Seite hinzufügen, rufen Sie bitte alle JS-Funktionen unterhalb dieser Erklärung auf.

  1. Prüfen Sie mit diesem Code-Test,

    <script type="text/javascript">
    /***
     * Created by dadenew
     * Submit email subscription using ajax
     * Send email address
     * Send controller
     * Recive response
     */
    $(document).ready(function() { //you can replace $ with Jquery
    
      alert( 'jquery working~!' );
    });

Frieden!

0voto

Dwain B Punkte 149

Ich hatte das gleiche Problem und jetzt habe ich es gelöst. Meine Umgebung ist wie folgt;

Laravel mit Blade Pages. Ich hatte ein Hauptlayout und verwendete Abschnitte, um neue Seiten aus meinem Hauptseitenlayout (Vorlage) zu erstellen.

Ich habe JQuery von meiner Abschnittsseite und nicht von meinem Hauptlayout geladen. Ich änderte es von der Abschnitt-Seite zu laden JQuery aus dem Haupt-Layout und auch an der Spitze in den Kopf-Tag.

0voto

Etwas, das ich hier nicht gefunden habe, das mir aber passiert ist. Vergewissern Sie sich, dass Sie nicht die jQuery schlank Version enthalten, da diese Version der jQuery-Bibliothek die Ajax-Funktionalität nicht enthält.

Das Ergebnis ist, dass "$" funktioniert, aber $.get zum Beispiel eine Fehlermeldung zurückgibt, die besagt, dass diese Funktion nicht definiert ist.

Lösung: Binden Sie stattdessen die Vollversion von jQuery ein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X