Anwendungsfall
Sie möchten einen Abschnitt einer anderen Seite Ihrer Website per AJAX auf die aktuelle Seite laden. Nehmen wir an, Ihr eCommerce-CMS-System erstellt ein dynamisches Produktmenü, das als Unterverzeichnis Ihrer Website existiert und Sie möchten es auf der Homepage verwenden.
jQuery
$("#mainNav").load("/store #mainNav")
Der erste Parameter ist die URL (funktioniert nur für Anfragen innerhalb derselben Domain!) und der zweite (nun, technisch gesehen ist er immer noch Teil des ersten, getrennt durch ein Leerzeichen) ist ein jQuery-Selektor des zu ladenden Teils. Wenn kein zweiter Selektorparameter übergeben wird, wird die gesamte Seite geladen. Es gibt einen optionalen dritten Parameter, eine Callback-Funktion, die ausgeführt wird, wenn der Ladevorgang abgeschlossen ist.
Das ist eine großartige Möglichkeit, eine mobile Variante Ihrer Seite auszuführen. Sie wird dann immer aktuell sein.
Hmm, ich habe versucht, dies mit dem Div zu verwenden, in das 'sidebar.php' geladen wird, und es funktioniert nicht.
Mein Code sieht so aus
$(document).ready(function(){
$(“#left_col”).load(“/store #left_col”)
});
Irgendwelche Ideen?
Versuchen Sie path/file.php neben /store
Es scheint, dass es in IE7 nicht funktioniert, wenn Sie versuchen, HTML5-Selektoren wie section oder article zu laden.
Kann ich einen Teil einer anderen Seite auf einer anderen Website auf einer anderen Domain teilweise laden?
Es ist großartig für statische Seiten, aber es funktioniert in IE8 nicht, wenn ich Abfragezeichenfolgen und dynamische Inhalte verwenden möchte.
Es stellt sich heraus, dass eine Zufallszahl in der Abfragezeichenfolge dieses Problem behebt.
Ich habe ein Problem mit diesem Snippet. Tatsächlich führt die Aktualisierung zu einer neu geladenen #mainNav, die in eine andere #mainNav verschachtelt ist. Warum ist das so?
Hallo,
Gute Tipps, aber es lädt keine externe URL (Seite).
Das Problem bei dieser Methode ist, dass sie die gesamte Seite mit jQuery abruft und dann nur das parst, was angezeigt werden soll. Wenn Sie also beispielsweise nach einem Div auf einer Seite fragen und diese Seite relative Pfade zu Bildern hat (d. h. /images/image.jpg), wird für jedes Bild auf der Seite mit einem relativen Pfad ein "nicht gefunden"-Fehler in Ihrer Konsolenprotokollierung angezeigt, obwohl Sie diese Bilder wahrscheinlich nicht einmal anfordern.
Ich wünschte, es gäbe eine Möglichkeit, nicht nur ein Div einer Seite abzurufen, sondern nur ein Div einer Seite anzufordern.
Warten Sie mal! Wie wirkt sich das auf SEO aus? Wenn der Google-Suchbot diese Seite analysiert und nur einen Teil der Seite findet, wird das nicht gut für Sie funktionieren...
Deep,
Schauen Sie sich diese Seite an –
https://buildyour.landrover.co.uk/lr2/r/exterior/paint/en_gb/l538_k19/3m0fr/a-5door_a-ed4-19_a-se/n-1ac?_ga=2.164135807.138502813.1541244152-1628470529.1538000123
und dann das –
https://buildyour.landrover.co.uk/lr2/r/exterior/exterior_packs/en_gb/l538_k19/3m0fr/a-5door_a-ed4-19_a-se/n-1ac?_ga=2.164135807.138502813.1541244152-1628470529.1538000123
Sie werden feststellen, dass dies zwei verschiedene URLs sind – und wenn Sie intern auf einer dieser Seiten auf eine andere Schaltfläche klicken, um beispielsweise "Optionen" auszuwählen, werden Sie feststellen, dass nur der mittlere Abschnitt der Seite separat geladen wird, während der Rest der Seite unverändert bleibt und sich die URL in der Adressleiste ebenfalls ändert. Wenn dies also der Fall ist – auch wenn Google diese URLs indexieren würde, wäre es keine schlechte Benutzererfahrung, da der Benutzer auf derselben Seite landen würde – mitten im Entwurf seines Land Rovers..