Ajax
-
Hi,
wenn ich auf einem Server1 eine Ajax-Request absetze und als Request auf ein PHP-Skript auf einem Server2 verweise, wieso wird das Request nicht abgesetzt?
Ist das ein tolles Sicherheitsfeature was serverübergreifende Requests verhindert?
Das ganze funktioniert, wenn Javascript und PHP-Skript auf einem Server liegen!
Gruß
-
Jepp, es sind nur Ajax Requests auf den selben Server möglich auf dem das Javascript liegt.
-
Ja wie gesagt wurde sind Ajax Request auf denselben Server begrenzt.
Aber es gibt eine ganz einfache Lösung dafür:
Du programmierst dir einen "Proxy" der die Anfrage weiterleitet:
<? $param = null; foreach($_GET as $k => $v) { $param .= $k.'='.$v.'&'; } echo file_get_contents('http://www.server2.de/application.php?'.$param); ?>
Du kannst auch POST Daten mit den HTTP_Request Funktionen übergeben:
http://de2.php.net/manual/de/ref.http.php
-
AJAX ist nicht nicht nur XMLHTTPRPC
Du kannst stattdessen AJAX per IFrames implementieren. Als Zieladresse die ZielPHP-Datei mit Parametern einfuegen - egal ob auf dem gleichen Server oder auf einem anderem. Die Rückgabe des Ladevorgangs (also den Inhalt der geladenen HTML-Datei) verarbeitest du gemäß deinen Wünschen weiter. Entweder zeigst du den IFrame unverändert an, oder du parsed Daten daraus ... was auch immer.
-
wenn ich einen proxy nehme, dann könnte sich mein skript auch gleich auf dem gleichen server wie das javascript befinden. so habe ich das jetzt auch umgesetzt.
per iframe wäre natürlich ne möglichkeit gewesen...
danke!