Cgi.header redirect

Hi!

I tried to redirect a html page to itself to avoid browser’s question
about
resending post data but it doesn’t work.
I tried this:

cgi=CGI.new
cgi.header(‘status’=>‘302 moved’, ‘location’=>‘my_page.rb’)
or
cgi.header(‘status’=>‘REDIRECT’, ‘location’=>‘my_page.rb’)

The browser still asks the question about post data when I click the
Refresh
button

Maybe someone knows why this doesn’t work ?

Thank you.

“Haris B.” [email protected] writes:

button
The browser is doing the right thing. It doesn’t matter that the
result of a POST was a redirect (which is very common).

If you click the refresh button after a POST, the browser will want to
redo the POST. It of course asks if you want to POST the same data,
which is good (especially if you just posted your credit card number).

There are two ways around this, depending on what you are trying to
do. If you are just trying to refresh the page by hand without the
warning box, click in the location bar and press return.

If you want to refresh automatically, without the warning box, add a
meta refresh tag to the HTML.

On 10 Mai, 19:40, Peter J. [email protected] wrote:

The browser still asks the question about post data when I click the Refresh
do. If you are just trying to refresh the page by hand without the
warning box, click in the location bar and press return.

If you want to refresh automatically, without the warning box, add a
meta refresh tag to the HTML.

According to http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
you may want to try a 303 code… But unless request type is HEAD
(which it is probably not in your case) you should also reply with
some short HTML text.

Regards,
Kai

Haris B. wrote:

I tried this:

cgi=CGI.new
cgi.header(‘status’=>‘302 moved’, ‘location’=>‘my_page.rb’)
or
cgi.header(‘status’=>‘REDIRECT’, ‘location’=>‘my_page.rb’)

You need both a ‘302’ line and a ‘Location’ header. (btw, according to
refs the url needs to be absolute.)

Maybe someone knows why this doesn’t work ?

Why did you try ‘REDIRECT’?

You simply guessed?

Then why didn’t you guess ‘Boozoonga’? or ‘Kalibula’?

It’s nice to invent things, but don’t expect your browser to understand
you.

Peter J. wrote:

The browser is doing the right thing.

Yes, but Haris’s is a very valid wish. The Drupal CMS redirects after a
form post, and I think it’s indeed a good thing to do.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs