0
我無法通過ajax執行perl。 爲什麼responseText總是返回整個Perl代碼?爲什麼我的ajax無法執行perl
以下示例是從perl獲取數據。我從函數updateTime得到的響應是整個Perl代碼。
順便說一句:我可以使用命令「c:/ perl/bin/perl test.cgi」在cmd窗口中執行perl代碼。
JS代碼是如下:
function updateTime(){
var xmlhttp_t = createXMLHTTPRequest();
xmlhttp_t.open("GET","cgi-bin/test.cgi",false);
xmlhttp_t.send();
if(xmlhttp_t.readyState == 4){
return xmlhttp_t.responseText;
}
}
//
//Get XMLHttpRequest
//
function createXMLHTTPRequest(){
var xhr_object = null;
if(window.XMLHttpRequest)
{
xhr_object = new XMLHttpRequest();
}
else if(window.ActiveXOject)
{
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert("Your browser doesn't provide XMLHttpRequest functionality");
return;
}
return xhr_object;
}
Perl的代碼是如下:
#!c:/perl/bin/perl
use strict;
use CGI;
use warnings;
my $cgi = new CGI();
print $cgi->header('text/html; charset=UTF-8');
print "aaaa";
你必須設置你的服務器能夠運行Perl腳本 – Musa 2013-02-19 06:04:21
@Musa謝謝你的提醒。那是真實的。因爲我在cgi-bin文件夾外運行.cgi文件,我需要添加一個文件.htaccess,其中包含兩行「AddHandler cgi-script .cgi .pl Options + ExecCGI」。 – Ellen 2013-02-19 06:45:28