Html per Ajax nachladen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anforderung
anzeigen
ausgeben
berechnung
code
datei
dollar
frage
generischen code
laden
lange code
laufen
nachladen
quellcode
schleife
tabelle
url
zeichen
zusammenhang
zusammensetzen
-
Hallo, bin mit Javascript noch nicht so ganz vertraut und wollte fragen, ob folgendes damit möglich ist.
Es gibt eine normale HTML-Seite, wo einzelne Seiten-Elemente, wie Tabellen oder Widgets erst erscheinen, sobald sie generiert sind. Es gibt zb. eine Elends-lange Schleife, die mir für meine Tabelle <tr>..</tr> tags generiert. und die fertige Tabelle in einer Variable $tabelle = "<table><tr>...</tr></table>" ablegt. Nun will ich nicht auf diese Schleife warten, sondern erstmal den Rest der Seite anzeigen.
normalerweise könnte man das über sowas machen
$( document ).ready(function() { $( "#my_table" ).load( "table.html" ); });
ginge vielleicht auch sowas?
for sehr lange { $tabelle += "<tr>...</tr>" } $tabelle += "</table> $( document ).ready(function() { $( "#my_table" ).load( "$tabelle" ); });
in Zusammenhang mit dem Befehl load, habe ich nur gesehen, dass externe Seiten nachgeladen werden, das geht nicht mit codeschnippseln. Wie müsste das mit generischen Code-Teilen aussehen? Gibt es vielleicht ein Beispil für sowas in JSP oder PHP, wo etwas Generiert und wenn es fertig ist mit JS nachgeladen wird?
Beitrag zuletzt geändert: 26.4.2014 12:33:45 von hswlab -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich muss zugeben, ich arbeite zu wenig mit JQuery.
hswlab schrieb:
[...] Gibt es vielleicht ein Beispil für sowas in JSP oder PHP, wo etwas Generiert und wenn es fertig ist mit JS nachgeladen wird?
Das ist möglich. Wenn du möchtest, schreibe ich ein Beispielprogramm, das dauert dann einige Minuten. (Einfach kurze PN)
Du lädtst einfach die Hauptseite und die Startet einen Ajax-Aufruf, um die Tabelle zu erhalten. Sobald diese Anforderung beim Server eintritt, läuft die Berechnung der Tabelle los. Und wenn er fertig ist, kommt als Antwort die Tabelle und du kannst sie mit Javascript anzeigen.
Ich glaube nicht, dass es möglich ist, mit der Berechnung zu beginnen, sobald die Hauptseite angefordert wird. Das geht erst beim zweiten Aufruf. -
hallo
erstmal die Frage dazu ....
... soll das
in PHP oder in JavaScript laufen ???for sehr lange { ... }
bei JavaScript ist die Variable ohne das $ Dollar-Zeichen !!! ... var tabelle = '<table>';
und wenn JavaScript, dann hast du den Quellcode ja schon in der Variable
dann also nicht mehr .load sondern .html um diesen Quellcode einzufügen.
wenn Tabelle in PHP erstellt werden soll, dann mit print (oder echo)
in der PHP-Datei ausgeben, und per (jQuery) .load diese PHP-Datei laden
Beitrag zuletzt geändert: 26.4.2014 15:46:21 von inetbox -
inetbox schrieb:
hallo
erstmal die Frage dazu ....
... soll das
in PHP oder in JavaScript laufen ???for sehr lange { ... }
bei JavaScript ist die Variable ohne das $ Dollar-Zeichen !!! ... var tabelle = '<table>';
und wenn JavaScript, dann hast du den Quellcode ja schon in der Variable
dann also nicht mehr .load sondern .html um diesen Quellcode einzufügen.
wenn Tabelle in PHP erstellt werden soll, dann mit print (oder echo)
in der PHP-Datei ausgeben, und per (jQuery) .load diese PHP-Datei laden
Man könnte die For-Schleife ja innerhalb der <script> tags laufen lassen und sich eine var table. zusammensetzen.
Dann sieht der Code also so aus?
$( document ).ready(function() { $( "#my_table" ).html( table ); });
bzw.
$( document ).ready(function() { $( "#my_table" ).html( "<table><tr><td></td></tr> ,..., <tr><td></td></tr></table>" ); });
Edit: Wird die Seite eigentlich geladen, bevor das HTML für die Tebelle generiert ist, oder geht das nur über das nachladen einer externen Seite mit .load?
Beitrag zuletzt geändert: 27.4.2014 11:17:44 von hswlab -
hswlab schrieb:
Suche mal ein bisschen nach PHP Flush. Aber auf Lima-City funktioniert das vermutlich nicht. Die Übertragung der Seite beginnt erst, wenn das PHP-Programm beendet ist.
[...] Wird die Seite eigentlich geladen, bevor das HTML für die Tebelle generiert ist, oder geht das nur über das nachladen einer externen Seite mit .load?
Also wirst du nachladen müssen, wenn nicht die gesamte Seite ausgebremst werden soll. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage