0

A.cgiからにデータを送信していB.cgiます。B.cgiはデータベース内のデータを更新し、 にリダイレクトすることになっています。A.cgiその時点A.cgiで、更新されたデータが表示されます。B.cgiデータベースの更新直後に、リダイレクトを行うために次のコードを追加しました。

$url = "http://Travel/cgi-bin/A.cgi/";
print "Location: $url\n\n";
exit();

データベースが正常に更新された後、ページは単に印刷されます

Location: http://Travel/cgi-bin/A.cgi/

B.cgiにリダイレクトされることなく、 にとどまりますA.cgi。リダイレクトを機能させるにはどうすればよいですか?

4

2 に答える 2

2

Location:ヘッダーであり、ヘッダーはすべての通常の出力の前に来る必要があります。これはおそらくあなたの問題です。しかし、これを手動で行うのは不必要に複雑です。CGI.pm のリダイレクト機能を使用する方がよいでしょう。

于 2013-11-11T17:43:43.940 に答える
1

CGI のリダイレクトメソッドを使用します。

my $url = "http://Travel/cgi-bin/A.cgi";
my $q = CGI->new;
print $q->redirect($url);
于 2013-11-11T17:43:46.077 に答える