HTTP POST teilweise in Query-String umschreiben
suit
- https
Hallo,
ich habe ein kleines Problem - ich habe hier eine Formular (Suche) welches mit POST arbeitet - allerdings brauche ich einen Parameter unter einem anderen Namen als GET, da dieser mit JavaScript (Piwik) ausgewertet werden muss.
Aktuell siehts so aus
/suche/
foo=1&bar=2&suchbegriff=whatever
Und nach der Manipulation soll die Sache so aussehen:
/suche/?q=whatever
foo=1&bar=2&suchbegriff=whatever
Sprich der Wert aus POST "Suchbegriff" soll als Query-String in der Adresszeile des Browsers landen.
Per mod_rewrite ist das afaik nicht möglich, da ich auf POST keinen Zugriff habe - gibt es hier ggf. ein anderes Modul, welches das ermöglicht?
Eine andere Moglichkeit ist, dass ich das onsubmit-Event abfange und einfach die Action des Formulars manipuliere. Muss ohnehin nur mit JavaScript laufen.
Die letzte Möglichkeit wäre, dass ich die Sache mit PHP angehe und sämtliche Request-Daten an einen neuen "Request" weiterschleife und entsprechend umleite - schmecken tut mir das aber nicht.
Irgendwelche Ideen, Meinungen, Vorschläge?
Hallo,
Irgendwelche Ideen, Meinungen, Vorschläge?
Beim Tracking angreifen:
http://piwik.org/docs/javascript-tracking/
Ob sich dort die URL des Page-Views abändern lässt, müsstest du schauen, bei anderen Services geht das zumindest.
Andernfalls Custom Events tracken.
Mathias
Irgendwelche Ideen, Meinungen, Vorschläge?
Beim Tracking angreifen:
http://piwik.org/docs/javascript-tracking/
Ob sich dort die URL des Page-Views abändern lässt, müsstest du schauen, bei anderen Services geht das zumindest.
Andernfalls Custom Events tracken.
Ja, das habe ich auch schon gelesen, allerdings muss ich dann für jede JavaScript-Statistiksoftware eine Extrawurst braten. Dasselbe Problem habe ich bei Google Analytics auch - zwar gibts da auch eine eigene Methode (_trackPageview()), aber auch das muss man extra konfigurieren.
Ich hab das jetzt vorerst mit der 2. Variante (action-Attribut um den Suchbegriff ergänzen) gelöst.
Mahlzeit suit,
ich habe ein kleines Problem - ich habe hier eine Formular (Suche) welches mit POST arbeitet
Dann hast Du ein prinzipielles Problem: rein lesende Abfragen sollten per GET arbeiten. Nur ändernde Abfragen sollten per POST funktionieren.
(Warum heißt der *QUERY*STRING wohl *QUERY*STRING?)
Irgendwelche Ideen, Meinungen, Vorschläge?
Klar (s.o.) - altkluges Besserwissen (wie üblich). ;-)
MfG,
EKKi
Dann hast Du ein prinzipielles Problem: rein lesende Abfragen sollten per GET arbeiten. Nur ändernde Abfragen sollten per POST funktionieren.
Sag das nicht mir, sondern indexed_search welches gut und gerne 10 Parameter in die Adresszeile rotzt, wenn man mit GET arbeitet, anstatt nur einfach den Suchbegriff reinzupacken. Der Rest der Parameter (z.B. die Sprache) ist übrigens total unsinnig und könnte Problemlos über die Globale Konfiguration gelesen werden
(Warum heißt der *QUERY*STRING wohl *QUERY*STRING?)
Sag das nicht mir :)
Klar (s.o.) - altkluges Besserwissen (wie üblich). ;-)
Das hätte ich selbst auch gehabt :D
hi,
Irgendwelche Ideen, Meinungen, Vorschläge?
Naja, nurmalsonebenbei: hier ist im form-action ein QS fest kodiert, klick mal, ohne was einzutragen (s. Anm.). Es erscheint ein anderer URI in der Adresszeile, es ist und bleibt jedoch ein POST as REQUEST_METHOD.
Möglicherweise könntest Du mit Javascript und mod_rewrite was zusammenbasteln, aber das fängt mit 'f' an ;-)
Horst Fricke
Anm.: Wenn Du da was reinschreibst, krieg ich ne Mail.