AJAX method GET/POST, was ist wichtig
LSpreee
- javascript
0 Der Martin
0 LSpreee
0 dedlfix
Hallo,
ich übergebe erfolgreich Variablen an ein php-Script mittels URL und der Methode GET:
var method = 'GET';
var url = '/emissionform.php/action/process/'+type+'/'+pid+'/cc/'+cachecode+'?par=uebergabe';
var asynch = true;
req.onreadystatechange = AjaxHandleRequest;
req.open(method, url, asynch);
Im emissionform.php kann ich per $_GET['par'] "uebergabe" erhalten.
Die anderen Parameter "process", type, pid, "cc", cachecode werden mit $_SERVER['PATH_INFO'] gelesen.
Jetzt frage ich mich, warum das ganze auch noch funktioniert, wenn ich die Methode auf POST stelle. Liegt das nur an meinem Browser (mozFF 3.5.2) oder kommen die Parameter immer an? D.h: könnte ich mich darauf verlassen, trotz POST-Methode einen Parameter via URL und $_GET zu catchen?
Hi,
var method = 'GET';
var url = '/emissionform.php/action/process/'+type+'/'+pid+'/cc/'+cachecode+'?par=uebergabe';
var asynch = true;req.onreadystatechange = AjaxHandleRequest;
req.open(method, url, asynch);
>
> Im emissionform.php kann ich per $\_GET['par'] "uebergabe" erhalten.
> Die anderen Parameter "process", type, pid, "cc", cachecode werden mit $\_SERVER['PATH\_INFO'] gelesen.
kann man so machen, ja.
> Jetzt frage ich mich, warum das ganze auch noch funktioniert, wenn ich die Methode auf POST stelle.
Weil $\_GET unabhängig von der Request-Methode einfach stur auf URL-Parameter zugreift, und die kannst du ebensogut bei einem POST-Request haben. Das mag etwas verwirrend sein, ist aber so. :-)
Und der Zugriff auf $\_SERVER['PATH\_INFO'] ist sowieso unabhängig davon.
> Liegt das nur an meinem Browser (mozFF 3.5.2) oder kommen die Parameter immer an? D.h: könnte ich mich darauf verlassen, trotz POST-Methode einen Parameter via URL und $\_GET zu catchen?
Ja. Wenn du URL-Parameter übergibst, landen sie in PHP immer im $\_GET-Array. Auch bei POST.
Ciao,
Martin
PS: Und beim nächsten Mal zeichne doch den Javascript-Code bitte auch als Javascript aus, nicht als HTML. Dann klappt's auch mit dem Syntax-Hilighting.
--
[Gott hilft niemandem](http://forum.de.selfhtml.org/?t=134084&m=869527), er erfreut sich nur an unseren Leiden.
(Ashura)
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
VIELEN DANK für beide Antworten!!!
Jetzt hab ich was gelernt (*freu).
PS: Und beim nächsten Mal zeichne doch den Javascript-Code bitte auch als Javascript aus, nicht als HTML. Dann klappt's auch mit dem Syntax-Hilighting.
Jau, hab ich auch schon gemerkt, sorry.
Hi!
Im emissionform.php kann ich per $_GET['par'] "uebergabe" erhalten.
Jetzt frage ich mich, warum das ganze auch noch funktioniert, wenn ich die Methode auf POST stelle. [...] könnte ich mich darauf verlassen, trotz POST-Methode einen Parameter via URL und $_GET zu catchen?
Die Benennung $_GET ist etwas unglücklich, denn es sind in jedem Fall dort die Querystring-Parameter zu finden, nicht nur bei GET.
Lo!