matthias: jquery -> ajax wehrt sich :o(

Guten Morgen zusammen,

ich hab folgendes Problem, die Funktion behauptet, "'$' ist Null oder kein Objekt" ist, muss man da vorher nen Handler stellen oder so?

function changeCalendarView()
{
     var Day = document.getElementById("hiddenday").value;
     var Month = document.getElementById("hiddenmonth").value;
     var Year = document.getElementById("hiddenyear").value;

$.ajax
     (
          {
               type: 'POST',
               url: 'http://irgendwas/abc.php',
               data:ajaxload=1&para1=2.
               success: function(strResponse)
               {
                    document.getElementById('iddesdivs').innerHTML = (strResponse);
               }

}

);

}

Wäre super, wenn mir jemand nen Tritt geben könnte... :)

vg, matthias

  1. Hallo,

    Wenn jQuery korrekt eingebunden ist und nicht im Kompatibilitätsmodus läuft, sollte $ auf das jQuery-Objekt zeigen. Alternativ kannst du jQuery statt $ schreiben.

    Platziere dein Script am besten nach dem script-Element, das jQuery einbindet. Aber wenn deine Funktion sowieso erst nach einem Klick durch den Benutzer o.ä. aufgerufen wird, sollte die externe JavaScript-Datei auf jeden Fall geladen worden sein.

    Diese Zeile ist anscheinend Unfug:
       data:ajaxload=1&para1=2.
    das sollte wohl
       data : "ajaxload=1&para1=2",
    heißen.

    Im Übrigen kannst du auch für die restlichen Operationen jQuery verwenden, diese Bibliothek erlaubt viel mehr als vereinfachtes XMLHttpRequest.

    Mathias

    1. Hi Namensvetter :o)

      VIELEN DANK - seltsamerweise funktioniert es mit jquery aber nicht mit $

      Deinen Link wegen Kompatibilitätsmodus hab ich leider nicht verstanden... :o(, bzw. mir ist nicht genau klar, was damit gemeint ist...

      Viele Grüße aus dem kalten Augsburg,
      Matthias

      1. Hallo,

        Deinen Link wegen Kompatibilitätsmodus hab ich leider nicht verstanden... :o(, bzw. mir ist nicht genau klar, was damit gemeint ist...

        Man kann einschalten, dass die Kurzschreibweise über »$« nicht funktioniert, sondern nur die über »jQuery«. Das ermöglicht gleichzeitige Nutzung von anderen Bibliotheken, die $ setzen (wie Prototype).

        Offenbar hast du dieses noConflict irgendwo aufgerufen.

        Mathias

        1. So, habs gepeilt :o)

          da haste recht, soll auch ned, prototype is auch noch vorhanden, deshalb lieber via jquery... :o)

          vielen dank für die hilfe ;o)

          vg, matze