用户必须在文本字段中键入一些文本,该字段在我的HTML中声明为表单。一些JavaScript代码打印用户的输入,该输入已由CGI脚本处理。
function xmlHttpPost(strURL) {var xmlHttpReq;
// Mozilla/Safari
if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttpReq.open('POST', strURL, true);
xmlHttpReq.timeout = 0;
xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form- urlencoded');
xmlHttpReq.onreadystatechange = function() {
if (xmlHttpReq.readyState == 4) {
updatepage(xmlHttpReq.responseText);
}
}
var form = document.forms['f1'];
var query = form.word.value;
xmlHttpReq.send("key=" + query);
}
function updatepage(str){
document.getElementById("result").innerHTML = "Result:" + "<br/>" + str;
}
#!"G:\xampp\perl\bin\perl.exe"
use CGI;
$query = new CGI;
$key = $query->param('key');
print $query->header;
print "<h1>The key is $key</h1>"
当我在表单中输入内容并提交数据时,会出现错误500:
标题前的脚本输出结束:ajax-echo.cgi
这就是Apache的error.log所说的
AH01215:无法在G:/xampp/cgi-bin/ajax-echo.cgi第7行找到位于@INC(@INC包含:。)的CGI.pm. \ r \ n,referer:http://localhost/ajax.html?word=test
AH01215:BEGIN失败 - 编译在G:/xampp/cgi-bin/ajax-echo.cgi第7行中止。\ r,referer:http://localhost/ajax.html?word=test
我的USB记忆棒上安装了新安装和配置的XAMPP。它拥有正常运行所需的所有权限。
答案 0 :(得分:1)
错误消息的重要部分是:
Can't locate CGI.pm in @INC (@INC contains: .)
模块的搜索路径只包含当前目录“。”显然当前目录中没有CGI.pm。
尝试找到安装CGI.pm的目录,然后将此行添加到Apache配置
SetEnv PERL5LIB "G:/xampp/path/to/module/directory"