|
Posted by Oli Filth on 06/05/05 15:47
patrice said the following on 05/06/2005 08:43:
> My aim is as follow : I want to use a form and a javascript
> location.replace() together, in order to replace the curent page in the
> browser's history list.
Why? Sites that try to take control of the user's browser are usually
just a pain in the arse.
Plus if the user has JS disabled, your page won't work at all...
> So I'm forced to use the GET method (there doesn't seem to be a way to
> achieve this through location.replace when using the POST method).
> But when using GET, the parameters will appear at the end of the URL
> displayed in the client's browser, which I don't want. This URL is the
> one returned by the server's response and could be different from the
> one appearing in the request (I need to check this however). So if I
> could remove the parameters from the Request-Line sent to the client,
As I've already said, the Request-Line is *not* part of the server's
HTTP response, but part of the client's (browser's) HTTP request.
The only time the server sends back a URL (that appears in the browser)
in an HTTP response is in a Location header.
--------------------
Off the top of my head, the only way that I could see to do this (and
it's messy), is:
* Do the location.replace(), with the form variables in the GET string.
* Then have the server collect up all the submitted $_GET variables and
dump then in $_SESSION.
* Do a header("Location: http://example.com/simple_url/") redirect.
* At the new location, pick up the variables from the $_SESSION variable.
This is untested.
--
Oli
[Back to original message]
|