Nie mogę wykonać Perl przez ajax. Dlaczego responseText zawsze zwraca całe kody perla?
Poniższy przykład służy do pobierania danych z perla. Odpowiedź, którą otrzymuję z funkcji updateTime, to cały kod perla.
BTW: Mogę wykonać kod perl w oknie cmd za pomocą polecenia "c: / perl / bin / perl test.cgi".
Kod JS wygląda następująco:
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;
}
Kod Perla jest następujący:
#!c:/perl/bin/perl
use strict;
use CGI;
use warnings;
my $cgi = new CGI();
print $cgi->header("text/html; charset=utf-8");
print "aaaa";
Odpowiedzi:
3 dla odpowiedzi № 1Odpowiedź, którą otrzymuję z funkcji updateTime, to cały kod perla.
Następnie jest to problem z konfiguracją serwera.