Ajax |
Netbuster
Fachidiot Threadstarter
Beiträge: 128 |
Hallo irgendwie klappt die Funktion in Zeile 1 nicht, wisst ihr warum?
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96: | $dt $msg \n");
fclose($f);
}
function refresh() {
$lines = file("/tmp/wall.html");
return join("\n", array_slice($lines, -25));
}
$sajax_request_type = "GET";
sajax_init();
sajax_export("add_line", "refresh");
sajax_handle_client_request();
?>
Wall
|
|
 Profil
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 844 |
Also in deinem POST ist es nicht Zeile 1 sondern 4 - durch die Whitespaces davor, würden also Leerzeichen ausgegeben werden, die Weiterleitung ist ein HTTP-Header und kann nicht mehr nach der Ausgabe von Inhalt erfolgen.
Falls diese Leerzeilen nur ein Postingfehler sind, kann es zusätzlich in Problem mit dem Location-header() sein. Manche Provider benötigen zwingend ein header('Status: 301 Moved') bzw header('Status: 302 Temporary Moved'). Sonst kommt eine Zwischenseite.
---
Weaverslave
|
 Profil
Website
Editieren
Zitieren
|
Netbuster
Fachidiot Threadstarter
Beiträge: 128 |
welche Leerzeichen meinst du?
Und es erscheint eine Meldung:
Umleitungs-Limit für diese URL überschritten. Die angeforderte Seite konnte nicht geladen werden. Das kann von geblockten Cookies herrühren.
|
 Profil
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 844 |
Die Fehlermeldung sagt aus, dass du immer weiterleitest - es ergibt sich eine Endlosschleife.
Dein Script wird ehh nur immer bis zu dem exit() ausgeführt - alles danach wird ignoriert. Da dieses exit() nicht bedingt ist (kein if) passiert dies bei jedem Aufruf der Seite. Wenn die Seite sich selbst aufruft, ergibt dies eine Endlosschleife, ohne das der Browser jemals dazu kommt eine Seite darzustellen.
---
Weaverslave
|
 Profil
Website
Editieren
Zitieren
|
Netbuster
Fachidiot Threadstarter
Beiträge: 128 |
|
 Profil
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 844 |
Ich weiß nicht wie sie es wirklich machen - ich sehe nur was durch den Quellcode passiert. Am besten nimmst du die beiden Zeilen einfach mal raus.
---
Weaverslave
|
 Profil
Website
Editieren
Zitieren
|
Netbuster
Fachidiot Threadstarter
Beiträge: 128 |
es klappt dann zwar, aber mann sieht einen unterschied, versuchs mal bei dir!
Mit dem Sourcecode den sie da zeigen sollte man das Refreshen nicht merken, aber ohne den beiden Zeilen merkt man die ganze Zeit den Text refreshen.
|
 Profil
Editieren
Zitieren
|
subjective
Forenheld
Beiträge: 844 |
Bei mir funktioniert auch das Beispiel auf deren Webseite nicht. (Seite wird dargestellt, weiter passiert nix)
Ich verwende für diese Zwecke eher individuelle JS-Callbacks in iframes oder direkt XMLHTTPRequest. Den aktuellen Hype um "Ajax" kann ich nicht nachvollziehen.
Im Normalfall sollte es bei all diesen Konzepten _gar_ keinen Reload der Hauptseite mehr geben. Statt dessen werden im Hintergrund neue Informationen geladen und dann über JS/DOM die Seite im Browser geändert.
Der Location-Header veranlaßt den Browser direkt die nächste Seite aufzurufen, ohne die aktuelle Seite darzustellen. Die Funktion exit() beendet das Script komplett. Damit wäre natürlich im Browser kein Reload sichtbar. Aber weder im PHP noch im Browser würden Anweisungen nach diesen Befehlen abgearbeitet werden.
---
Weaverslave
Diese Nachricht wurde geändert von: subjective |
 Profil
Website
Editieren
Zitieren
|
Netbuster
Fachidiot Threadstarter
Beiträge: 128 |
ja, aber wie sollte ich es denn sonst machen?
und wie würdest du es machen, ohne zu refreshen?
Diese Nachricht wurde geändert von: Netbuster |
 Profil
Editieren
Zitieren
|
Netbuster
Fachidiot Threadstarter
Beiträge: 128 |
hat schon geklappt danke subjective
|
 Profil
Editieren
Zitieren
|