我想知道我的index.html是否可以调用perl处理程序在index.html中加载数据表。没有JQuery,但我可以使用Javascript。我该怎么做?截至目前,我只是在perl处理程序中打印一些html,但如果我不需要,我真的不喜欢这样做。基本上,有没有办法从perl cgi处理程序获取数据并获取数据并将其加载到html数据表中。感谢您提示/建议。
我现在正在做的只是使用以下方法调用处理程序:
<form action="http://myExampleHandler.pl.cgi" method="get">
<input type="submit" value="GO" />
</form>
的Perl:
$dtd =
"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";
print "Content-type: text/html\n\n";
print( start_html( { dtd => $dtd,
title => "Database mySQL example" } ) );
print "Ok let\'s start...<p>";
$dbh = DBI->connect('dbi:mysql:MyDbName','MyUserName','MyPassword')
or die "Connection Error: $DBI::errstr\n";
$sql = "select * from Animal";
$sth = $dbh->prepare($sql);
$sth->execute
or die "SQL Error: $DBI::errstr\n";
#@data = $sth->fetchrow_array();
#print header;
#print "Content-Type: text/html\n\n";
print "<table width=\"900\"> \n";
print "<tr><td></td><td>Name</td><td>Type</td><td></td></tr>\n";
my($animalId, $animalName, $animalType);
while (@row = $sth->fetchrow_array) {
$animalId = $row[0];
$animalName = $row[1];
$animalType = $row[3];
print "<tr><td></td><td>$animalName</td><td>$animalType</td><td></td></tr>\n";
}
print "</table>\n";
print( end_html() );
我想我的首选方法是使用javascript调用此处理程序并让处理程序传回数组或json中的所有行。然后很容易,我只需要加载带有数据的数据表。
答案 0 :(得分:0)
当然。 jQuery是用javascript编写的,所以jQuery做的任何事都可以在javascript中完成。您需要向您的perl程序发送XMLHttpRequest(或者更常见的是:一个AJAX请求)。然后,您的perl程序可以将任何字符串作为响应发回。您的js代码可以读取该字符串,然后将其(或其他任何内容)插入到您的html表中 - 所有这些都无需重新加载新页面。