Ich habs gerade erst realisiert: Mein Kopf hat sich heute morgen beim Aufstehen gefragt, ob mein Framework nicht selber entscheiden möchte, wie HTTP-Request behandelt werden. Für eine Xenjo-Anwendung ist es unerheblich, ob sie als CLI, HTTP oder WAP-Anwendung läuft. Zugegeben, den WAP-Treiber hab ich noch nicht implementiert.
In einer HTTP-Anwendung selber habe ich ein ähnliches Problem zu lösen: Angenommen, ich liefere einen View aus (basierend auf einem kompletten Seiten-Layout ). Teile dieses Views sollen jetzt per
HXR nachgeladen werden (hierfür würde man einige Ajax-Controller/Views bauen).
Gibt es einen generischen Weg zu erkennen, ob ein Request auf XMR basiert?
Die Antwort ist JA.
Testen konnte ich es allerdings nur für Firefox (1.5/2.0), IE 6 und Opera 9.
Und das WIE ist, wie so oft, banal:
Von PHP aus kann man einen Ajax-Request demnach daran erkennen, dass das Element
$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' gesetzt ist.
Das macht Laune, denn jetzt könnte man eine Anwendung so konfigurieren, dass die Daten aus angeforderten Ajax-Requests immer als JSON zurückgeliefert, und über eine Template-Engine im Client dargestellt werden (jQuery MVC PlugIn z.B.). Und wenn nicht, wird die Ausgabe auf dem Server gerendert...
Urlaub ist geil. Sagte ich das schon?