Antwort an „Rolf B“ verfassen

Hallo Aragorn,

jQuery muss man vorher downloaden und zusammen mit den Scripts der eigenen Seite verfügbar machen. Ich nehme an, dass dein script src="jQuery.js" mit einem HTTP 404 fehlgeschlagen ist.

$ ist in JS ein gültiger Variablenname und wird von jQuery mit dem Objekt belegt, das die Zugriffsfassade für jQuery darstellt. Außer $ stellt jQuery sich auch über die Variable jQuery bereit. Aber wenn das Script nicht lädt, dann fehlt die ebenfalls.

jQuery muss man heutzutage allerdings als weitgehend obsolet einstufen. Ein paar Sachen mögen damit bequemer gehen, und es gibt eine Menge Plugins, die man vielleicht nutzen möchte, aber $.ajax lässt sich durch fetch prima ersetzen.

Unsere Beschreibung für POST Requests mit fetch ist im Wiki leider rudimentär, aber wenn Du zeigst, was Du da versucht hast, kriegen wir das bestimmt zusammen hin. jQuery ist in der Beziehung wie Regex - du willst damit ein Problem lösen und hast dafür zwei andere.

Eins ist wichtig bei $.ajax und auch bei fetch: Sie laufen asynchron. Der Teil

$.ajax(...)
.done(function(response) {
    msg = response;
  });

return {logRes: res, logMsg: msg};

suggeriert, dass man die Response des Servers unter logMsg zurückgeben würde, aber die Callback-Funktion bei done() wird erst nach Rückkehr vom Server aufgerufen, während das return-Statement sofort nach Versand des Requests ausgeführt wird. Abgesehen davon setzt Du res nie auf true.

Ich muss jetzt weg, ich schreibe in ein paar Stunden noch was dazu.

Rolf

--
sumpsi - posui - obstruxi
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen