#!/usr/bin/perl
# perl cgi script products2.cgi
use DBI;
print <<END_HTML;
Content-type: text/html
END_HTML
my $host = "xxx.xxx.xxx";
my $port = "xxxx";
my $database = "proj4";
my $username = "xxxxxx";
my $password = "xxxxx";
my $database_source = "dbi:mysql:$database:$host:$port";
my $dbh = DBI->connect($database_source, $username, $password)
or die 'Cannot connect to db';
my $sth = $dbh->prepare("SELECT distinct category FROM products");
$sth->execute();
#getting the categories and displaying them
while(my @row=$sth->fetchrow_array()) {
my $data =$row[0];
my @values = split(' ',$data);
my $pic = "/~xxxx/proj4/images/".$values[0].".jpg";
print <<END_HTML;
<div class="view view-first">
END_HTML
print"<img src=\"$pic\" alt=\"$row[0]\"/>";
print "<h2 class=\"choc\"><span>$row[0]</span></h2>";
print "<div class=\"mask\">";
print "<h2 class=\"eff\">\"$row[0]\"</h2>";
print <<END_HTML;
<p>One of Our best sellers</p>
<a href="#" class="info $values[0]">Discover</a>
</div>
</div>
END_HTML
}
$sth->finish();
$dbh->disconnect();
我正在尝试替换
<div id="content"></div>
单击导航栏中的“产品”链接时,在我的 proj.html 到上述 perl 脚本的输出。
//产品导航栏
<li>
<a href="/perl/xxxxx/products2.cgi" id="productit">
Products
</a>
</li>
我知道我必须使用 javascript 和 ajax,但不知道该怎么做。
$('#productit').bind('click', function() {
var handle = document.getElementById('content');
var req = new HttpRequest('/perl/xxxxx/products2.cgi', callback);
//i know this ajax call only expects string to be returned from server
req.send();
handle.innerHTML= //not sure how to populate this
});
有人可以指导我如何发送准备从 perl 脚本显示的 html