0

我想知道是否有一种方法可以让我的 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>

珀尔:

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

4

1 回答 1

0

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

于 2013-05-08T02:25:54.153 回答