Verständissfrage Jquerry/Ajax/links

  • Hallo,


    ich möchte per ajax Daten in ein div laden.


    Mein JS:


    Auf diese art muss ich für jeden einzelnen Link eine Funktion erstellen ist das so gewollt? Oder gibt es eine andere Lösung?

  • Jiop, hier mal ungetestetes, aber so in die Richtung kannst du mal basteln:


    ABER!!! Falls du planst, auf diese Art und Weise eine Ajax One-Page zu bauen (genau das, wonach es klingt: via JS wird der Inhalt nachgeladen, wenn auf einen Link geklickt wird), dann lies dir vorher diesen Artikel durch: Ajax-OnePage – Inhalt richtig per Ajax nachladen. Da wird erklärt, welche Fallen es gibt und wie man sie umgeht.

  • den Artikel habe ich gelesen, trifft aber hier nicht ganz zu. Für die Seite wird JS als nötig gesehen :)
    Und die Seite wird auch nicht von Suchmaschienen indiziert. Die JS Links befinden sich im Userbereich.


    Das Script hat so leider nicht funktioniert.
    Ich habe das jetzt folgendermaßen gelöst, bin aber noch nicht ganz zufrieden ;)
    Leider habe ich es nicht geschafft deinen Ajaxrequest ein zu bauen, vielleicht kannst Du mal schauen...


  • Also, ein paar Dinge kann man noch vereinfachen:
    1) Es reicht wirklich ein .click(), du brauchst kein .on("click", ...)
    2) Du musst dein Ajax nicht in eine eigene Funktion packen. Wenn du das mit in die .click Eventfunktion steckst, wird es genau so ausgeführt
    3) liefert dir das jQuery Ajax deine Successfunktionen bereits mit, die musst du also auch nicht extra spezifizieren


    Hier nochmal eine andere Version, wo ich auf Nummer sicher gegangen bin


    PS: Entferne mal bei meiner ersten Version das Semikolon am Ende von Zeile 8 und guck, ob es dann funktioniert ;)

  • Vielen Dank Scout!!!
    Es klappt :)
    Oder nicht so ganz :(
    wenn ich in dem nachgeladenen html einen link mit der gleichen klasse habe(Er soll sein eigenes Div überschreiben) dann wird dieser nicht vom JS ausgeführt.
    ist das richtig so?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!