如何使用Perl将数据返回到AJAX调用?

时间:2012-07-04 08:42:51

标签: jquery html ajax perl

我有一个HTML文件,可以生成一个网页。用户可以在网页上输入一些评论。要保存注释,我使用JQuery / AJAX调用perl脚本。这将在DB中添加一行。

在添加记录后,在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();

和htmlcode是

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。 任何帮助将不胜感激。谢谢sapna

1 个答案:

答案 0 :(得分: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 call中,做一些像这样的事情(我从jQuery文档中解脱出来):

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

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