AJAX und PHP-header()

pycak

Mitglied
Hallo Leute,

wie der Titel schon sagt, geht es hier um AJAX und PHP-header()-Fkt.

Problembeschreibung:
Stellt euch eine Seite vor, auf der u.a. ein DIV-Element vorhanden ist:
HTML:
<div id="abc">Text</div>
Auf der selben seite ist ein Button vorhanden, mit dem man in dieses DIV-Element mit AJAX bestimmten Inhalt laden kann. Die AJAX-Fkt. ruft eine PHP-Datei auf, in der geprüft wird, ob dieser Inhalt für den User freigegeben werden darf. Im Fehlerfall ruf die PHP-Datei die header()-Fkt. auf:
PHP:
header('Location: /blabla.php');
So, wenn jetzt ein Fehler auftritt, wird 'blabla.php' statt den Inhalt in das DIV-Element geladen, was die Seite total zerstört.

Frage: Wie kann man es so machen, das die header()-Fkt. die komplette Seite und nicht nur den Inhalt des DIVs umleitet?

Danke im Voraus
 
Anstatt den header zu senden, sende irgendeine spezielle Zeichenkette, an der AJAX erkennt, dass die Seite umgeleitet werden soll.
 
Das Problem dabei ist, dass diese Umleitungs-Fkt. auch von anderen Seiten genutzt wird. und da MUSS ein header() aufgerufen werden. Dazu noch, kann die Fkt. nicht unterscheiden, ob die Anfrage nach einem Seiten-Reload oder mit dem AJAX aufgerufen wurde.
 
Dazu noch, kann die Fkt. nicht unterscheiden, ob die Anfrage nach einem Seiten-Reload oder mit dem AJAX aufgerufen wurde.

Dann Sende doch per AJAX einen zusätzlichen Parameter mit, an dem dein PHP-Skript erkennt, dass es per AJAX aufgerufen wurde.
Oder sende per header() einen anderen Statuscode als 200...den kannst du per AJAX ja auch abfragen und entsprechend reagieren.
 
OK, Thanks, Problem gelöst. Habe einfach eine weiche eingebaut, wo ich, wenn AJAX im Spiel ist, einfach anderen Statuscode sende
 

Neue Beiträge

Zurück