我正在尝试创建一个简单的cgi perl脚本,该脚本从10倒数到0;但是我似乎无法让它工作。它一直告诉我malformed header from script. Bad header=HTTP/1.1 200 OK。我是Perl和CGI脚本编程的新手,所以我确信它是非常简单的东西。
#!/usr/bin/perl
use warnings;
use strict;
use CGI::Push qw(:standard);
my $startingCountDown = 10;
do_push(-next_page => \&refresh, -last_page=> \&lastPage, -delay => 1 );
sub refresh
{
my ($cgi, $count) = @_;
return undef if ($startingCountDown - $count < 0);
my $num = $startingCountDown - $count;
my $page = $cgi->start_html();
$page .= $cgi->p("The count is $num").end_html();
return $page;
}
sub lastPage
{
my ($cgi, $count) = @_;
return start_html()."Blast Off".end_html();
}如果我从终端(在我的Macbook上)运行这个命令,我会得到以下错误:WARNING: YOUR BROWSER DOESN'T SUPPORT THIS SERVER-PUSH TECHNOLOGY.。我尝试过在Safari和Chrome中运行这个脚本,但似乎都不起作用。在这种情况下,我如何编写一个从10倒数到1,每秒改变数字的正常运行的脚本?谢谢。
发布于 2012-07-18 09:14:35
CGI::Push使用的“服务器推送”机制(特别是multipart/x-mixed-replace)不受广泛支持。您需要选择一种不同的方法来实现这一点;最好的方法可能是在Javascript中进行倒计时,而不是在服务器端。
https://stackoverflow.com/questions/11532735
复制相似问题