Bei deinem "Wie mache ich das" komm ich mir vor wie meine Mutter damals. Fühle Dich also therapeutisch geohrfeigt, und leg die Panik weg.
Danke, jetzt kann ich wieder klar denken. 😨
Wenn der Link so aussieht: `<a href="savegames">Savegames</a>, dann findest Du nun in href den String "savegames".
Das wusste ich immerhin schon!
Zeile 3: Vielleicht sollte man diese Zeile nochmal näher erklären, wenn es Dir noch an Verständnis für JavaScript mangelt. Das ist der Aufruf der Methode
ajax
, die jQuery mitbringt. Diese Methode bekommt ein Objekt übergeben, und zwar dieses:{ url: ... success: ... }
Also, diesen Teil des Codes habe ich ebenfalls bereits verstehen können.
Unter
url
muss die abzurufende URL stehen. Wenn Du hierthis.href
hinschreibst, wird das href-Attribut des Links verwendet (this zeigt auf das Link-Element). So, wie der Aufruf jetzt ist, wird derurl
Eigenschaft also "savegames" zugewiesen, der Browser interpretiert das als relative URL und macht /games/demons-souls/savegames draus. Möööp - falsch.
Genau. In meinem Kopf steht this
für /games/demons-souls/ und href
für das href attr des Links, bspw. savegame. Wenn das stimmt, muss ich nur noch + ("/subpages/") +
zwischen die beiden obigen Teil quetschen, sprich:
url: this + "/subpages/" + href,
So weit bin ich gestern sogar schon selber gekommen.
Doch steht als GET in der Konsole dann: http://localhost/games/demons-souls/releases/subpages/http://localhost/games/demons-souls/releases.
Du brauchst
/games/demons-souls/subpages/savegames
- und das heißt, dass an die url Eigenschaft der Wert"subpages/savegames"
zugewiesen werden muss. Wie macht man aus "savegames" den Wert "subpages/savegames"?!
Jaaa …
Ach so. Ist das hier vielleicht dein Problem? In PHP verkettet man Strings mit dem
.
Operator. In JavaScript nicht. Da verwendet man das+
.
Das habe ich versucht, ich schwöre es!
Weißt du, dann habe ich mir gedacht, ich mach es jetzt mal ganz dumm und schreibe den absoluten Pfad hin:
url: "/games/demons-souls/subpages/" + href
Die Konsole sagt: „Hey, du willst scheinbar das aufrufen:“
http://localhost/games/demons-souls/subpages/http://localhost/games/demons-souls/savegame
Das href steht – warum auch immer – für die komplette URL. Das war gestern schon die ganze Zeit so. Sonst hätte ich es vermutlich schon hingekriegt. Im Grunde funktioniert es nur, wenn ich einen vollständig absoluten Pfad hinschreibe, z.B.:
url: "/games/demons-souls/subpages/game"
Sowohl bei alert(this)
als auch bei alert(href)
kommt beide Male die vollständige URL raus, nicht nur savegame oder mods oder so. Irgendwas läuft da falsch und der Fehler sitzt immer vorm PC.
Boris