3

我有一个 HTML 文件,它生成一个网页。用户可以在网页上输入一些评论。为了保存评论,我使用 JQuery/AJAX 调用 perl 脚本。这将在数​​据库中添加一行。

添加记录后,在 perl 脚本中,我再次获取相同的记录。现在我想在我的页面中显示该记录而不刷新页面。(我知道我们可以在 jquery 中使用 append) 我的问题是如何将该记录从 perl 返回到 HTML 页面,包括 HTML 标记和所有。

这是将添加新记录的部分。

<span class="requester"> 
    <span>**message**</span> 
    </br>
    <i> - **username**  </i>
    <button class="deleteResponse" id="id"> delete </button> 
    <hr>
 </span>

消息和用户名是我将从 MYSQL 查询中获得的项目。\

这是我用来显示数据的。

 $("#"+getpID+" textarea ").before(htmlcode).fadeIn();

和html代码是

var htmlcode = '<span class="requester"> <span>message</span> </br>     <i> - username 0 seconds ago </i> <button class="deleteResponse" id="id"> delete </button> <hr> </span>';

我希望从 perl 脚本返回数据而不是 htmlcode。任何帮助将不胜感激。谢谢萨普纳

4

1 回答 1

3

您的 Perl 脚本需要打印您希望通过 AJAX 调用返回的数据。这是基本的CGI。

#!/usr/bin/perl
use strict;
use warnings;
use CGI;
my $cgi = CGI->new;

# do your database stuff here

my $result = "HTML CODE"; # this is your result

print $cgi->header('text/html');
print $result;

在您的AJAX 调用中,执行以下操作(我从 jQuery 文档中提取):

$.get('ajax/test.html', function(data) {
  $("#"+getpID+" textarea ").before(data).fadeIn();
  alert('Load was performed.');
});

请注意,我没有对此进行测试。

于 2012-07-04T09:06:55.230 回答