通过Perl加载Html数据表

时间:2013-05-08 02:16:41

标签: javascript html perl

我想知道我的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中的所有行。然后很容易,我只需要加载带有数据的数据表。

1 个答案:

答案 0 :(得分:0)

当然。 jQuery是用javascript编写的,所以jQuery做的任何事都可以在javascript中完成。您需要向您的perl程序发送XMLHttpRequest(或者更常见的是:一个AJAX请求)。然后,您的perl程序可以将任何字符串作为响应发回。您的js代码可以读取该字符串,然后将其(或其他任何内容)插入到您的html表中 - 所有这些都无需重新加载新页面。