我想知道是否有一种方法,我的index.html可以调用perl处理程序来加载index.html中的数据表。没有JQuery,但我可以使用Javascript。我应该怎么做呢?截至目前,我只是在perl处理程序中打印一些html,但如果不必这样做,我真的不喜欢这样做。所以基本上,有没有一种方法可以从perl cgi处理程序获取数据,并将该数据加载到html数据表中。感谢提示/建议。通过Perl加载Html Datatable
我在做什么,现在只是调用使用handler:
<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中的所有行。然后很简单,我只需要将数据加载到数据表中即可。
你可以用任何方式显示使用它的例子吗?我之前使用jquery ajax,但不是javascript方式,如果它不同。我可以继续在perl中使用“打印”吗?或者有没有一种方法可以将数据发送回index.html? – TMan 2013-05-08 02:27:06
诀窍是让它跨浏览器,这意味着你必须做很多不同的检查。这里是一个教程(数千):http://net.tutsplus.com/articles/news/how-to-make-ajax-requests-with-raw-javascript/。你的perl脚本不知道谁写了发送请求的javascript程序:你是jQuery程序员。 – 7stud 2013-05-08 02:29:45
请注意,该教程中的整个函数如何简化为jQuery中的一行代码(最后包含jQuery行) – 7stud 2013-05-08 02:39:11