borisbaer: Wie rufe ich mit URL-Parametern dynamisch Inhalte auf?

Beitrag lesen

problematische Seite

Ich habe gemerkt, dass ich einen blöden Fehler oben gemacht habe, und zwar habe ich einen relativen Pfad mit einem / angefangen – autsch. 😳

Es funktioniert jetzt sogar mit dem folgenden Code:

$(function () {

	$("#tabs .tab").click(function(event) {
		event.preventDefault();
		$(this).addClass("current").siblings().removeClass("current");
		var href = $(this).attr("href");
		window.history.pushState(null, "", href);
		$.ajax(
			{
				url: "subpages/" + href,
				success: function(html) {
					$(".append").html(html);
				}
			});
	});
});

ABER, wie du siehst, musste ich die Variable href wieder zu $(this).attr("href") umschreiben. Bei this.href hat sie immer den ganzen Pfad vor dem href-Attribut ausgegeben, also nicht nur bspw. savegame. Warum ist das so?

Ich gehe mal jetzt schon mal einen Schritt weiter und frage: Sollte ich jetzt wieder den Teil "subpages/" aus der Ajax-URL löschen und stattdessen die .htaccess so umschreiben, dass URLs nach dem Muster /games/$1/$2 automatisch /games/$1/subpages/$2 aufrufen?

Und noch weiter gefragt: Der Ajax-Call funktioniert also wieder, aber wenn ich auf den Zurück-Button klicke, geht zwar oben in der Adresszeile die URL zurück auf den vorherigen string, doch der Inhalt natürlich noch nicht. Hier kommt vermutlich dieses popstate-Funktion zum Einsatz. Wie ich das verstanden habe, reagiert popstate auf Veränderungen in der URL bzw. in der History. Wenn also jemand auf den Zurück-Button klickt, dann sollte mit popstate erkannt werden, dass sich was in der URL-Zeile verändert hat und der entsprechende Inhalte aufgerufen werden soll.

	window.onpopstate = function() {

		/* ein erneuter Ajax-Call? 
    Aber dieses Mal muss er ohne das href des Links auskommen, 
    sondern sich wohl auf die window.history verlassen. */

	};

Mein lieber Herr Gesangsvereien. 🤯

0 75

Wie rufe ich mit URL-Parametern dynamisch Inhalte auf?

borisbaer
  • url
  1. 0
    TS
    • ajax
    • client-server
    • url
    1. 0
      borisbaer
  2. 0
    dedlfix
    1. 0
      borisbaer
      1. 0
        Samuel fiedler
        • javascript
        • php
        • url
        1. 0
          Der Martin
          • php
          • url
        2. 0
          Rolf B
          1. 0
            borisbaer
            1. 0
              Rolf B
              1. 0
                borisbaer
                1. 0
                  Rolf B
                  1. 0
                    borisbaer
                    1. 0
                      Rolf B
                      1. 0
                        borisbaer
                        1. 0
                          tk
                          • php
                          • url
                          1. 0
                            borisbaer
                        2. 0
                          Rolf B
                          1. 0
                            borisbaer
                            1. 0
                              Rolf B
                      2. 1
                        tk
                        • php
                        • url
                        1. 0
                          Rolf B
                          1. 0
                            borisbaer
                            1. 0
                              Der Martin
                              1. 0
                                Rolf B
                                1. 0
                                  borisbaer
                                  1. 0
                                    Rolf B
                                    1. 0
                                      borisbaer
                                      1. 0
                                        Rolf B
                                        1. 0
                                          borisbaer
                                          1. 0
                                            Rolf B
                                            1. 0
                                              borisbaer
                                            2. 0
                                              borisbaer
                                              1. 0
                                                Rolf B
                                                1. 0
                                                  borisbaer
                                                  1. 0
                                                    Rolf B
                                                    1. 0
                                                      borisbaer
                                                      1. 0
                                                        Rolf B
                                                        1. 0
                                                          borisbaer
                                                          1. 0
                                                            borisbaer
                                                            1. 0
                                                              Rolf B
                                                              1. 0
                                                                borisbaer
                                                                1. 0
                                                                  Rolf B
                                                                  1. 0
                                                                    borisbaer
                                                            2. 0
                                                              Rolf B
                                                              1. 0
                                                                borisbaer
                                                                1. 0
                                                                  Rolf B
                                                                  1. 0
                                                                    borisbaer
                                                                    1. 0
                                                                      Rolf B
                                                                      1. 0
                                                                        borisbaer
                                                                        1. 0
                                                                          Rolf B
                                                                          1. 0
                                                                            klawischnigg
                                                                            1. 0
                                                                              Rolf B
                                                                              1. 0
                                                                                klawischnigg
                                                                                1. 0
                                                                                  Rolf B
                                                                          2. 1
                                                                            borisbaer
                                2. 0
                                  Der Martin
                                  1. 0
                                    Rolf B
                                    1. 0
                                      Der Martin
                                      1. 0
                                        Rolf B
                                        1. 0
                                          Der Martin
                                          1. 0
                                            Rolf B
                            2. 0
                              Tabellenkalk
                              1. 0
                                borisbaer
        3. 0
          borisbaer
  3. 0
    Rolf B
    1. 0
      borisbaer
      1. 0
        Rolf B
        1. 0
          borisbaer
          1. 0
            Rolf B
            1. 0
              borisbaer
              1. 1
                Rolf B
                1. 0
                  borisbaer
                  1. 0
                    Rolf B
                    1. 0
                      borisbaer