Javascript 通过Perl加载Html数据表

Javascript 通过Perl加载Html数据表,javascript,html,perl,Javascript,Html,Perl,我想知道是否有一种方法可以让我的index.html调用perl处理程序来加载index.html中的数据表。没有JQuery,但我可以使用Javascript。我该怎么做?到目前为止,我只是在perl处理程序中打印一些html,但是如果不需要的话,我真的不喜欢这样做。因此,基本上,有没有一种方法可以从perl cgi处理程序获取数据,并将数据加载到html数据表中。谢谢你的提示/建议 我现在所做的只是使用以下命令调用处理程序: <form action="http://myExa

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


我想我的首选方法是javascript调用这个处理程序,让处理程序传回数组或json中的所有行。这样就很容易了,我只需要将数据加载到datatable中。

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

您是否可以演示使用该字符串的示例?我以前使用过jqueryajax,但如果它不同的话,我不会使用javascript。我可以继续在perl中使用print吗?或者是否有某种方法将数据发送回index.html?诀窍是使其跨浏览器,这意味着您必须执行许多不同的检查。这里有一个成千上万的教程:。您的perl脚本将不知道是谁编写了发送请求的javascript程序:您是jQuery程序员。请注意,该教程中的整个函数如何减少到jQuery中的一行代码,jQuery行包含在末尾。这是一种比仅在perl脚本中打印html更好的方法吗?很难说。这确实是一个美学问题。例如,您是否看到过文本中股票价格实时更新的html页面?当你阅读这篇文章时,股票价格不断变化。如果每次股价变化时都重新加载页面,那真的很烦人。但是,如果您只想更新页面一次,并根据用户的操作进行更新,那么页面重新加载的闪烁将作为页面发生更改的信号,并且由于页面重新加载的闪烁只发生一次,因此它不是超级烦人的。
 $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() );