【问题标题】:JavaScript not running with Perl CGIJavaScript 不能与 Perl CGI 一起运行
【发布时间】:2016-06-28 08:48:52
【问题描述】:

在cgi-bin文件夹里面,我有一个experiment.cgi:

#!/usr/bin/perl -w

use DBI;
use CGI qw(:standard);
require "../common/config.pl";

print header;
print start_html(-title=>"Add Assignment");


print<<EOT;
  <script type = "application/javascript" src = "experiment.js"></script>
EOT

print h2("Add New Automated Assignment");

# print<<AEOT;
#   <script>experiment();</script>
# AEOT
print end_html;

在同一个文件夹中我有experiment.js

function experiment(){
    alert('ghello world');
}

但是,experiment.js 文件包含存在问题。在日志文件中,我收到以下错误:

End of script output before headers: experiment.js

我搜索了这个错误,发现它与 cgi 文件有关。所以我的猜测是apache2将experiment.js解释为一个cgi文件。我是对的吗?如果是,那么设置它以便 JavaScript 和 cgi 可以一起使用的正确方法是什么?

【问题讨论】:

  • 警告:CGI.pm 的使用是not recommended,它已从 Perl Core 中删除。

标签: javascript apache perl cgi


【解决方案1】:

我搜索了这个错误,发现它与 cgi 文件有关。所以我的猜测是apache2将experiment.js解释为一个cgi文件。我是对的吗?

是的

如果是,那么设置 javascript 和 cgi 的正确方法是什么。

不要将非 CGI 程序放在您的 cgi-bin 中。将它们与其余的静态文件放在一起。

您需要调整网址。以src="/js/experiment.js" 为例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    相关资源
    最近更新 更多