如何在运行脚本后返回成功

时间:2014-06-23 14:32:57

标签: javascript jquery ajax perl

我对Perl和Ajax都很陌生,我想知道如何为ajax返回一条消息,知道脚本是否成功运行并在知道perl脚本成功后运行成功脚本。

在我的主html页面上,我有一个像这样的ajax脚本:

$(document).on('click', '.archive-button', function(){
    var notice_id = $(this).data('notice_id');
    var archiveaddress = '/user/notices/archivenotice/' + notice_id;
    $.post(archiveaddress, {notice_id: notice_id});
});

将其发送到archivenotice.html页面,该页面运行Perl脚本,该脚本仅标记通知被读取的时间。

my $update_needed = 0;
unless ($notice->read_on()) {
    $notice->read_on(scalar localtime);
    $update_needed = 1;
}

我应该将什么添加到archivenotice.html页面上的Perl脚本,以便我的主html页面上的ajax知道脚本成功运行并启动另一个名为&#34的脚本;成功"

2 个答案:

答案 0 :(得分:3)

打开main.html页面和archivenotice Perl脚本之间的通信渠道。

main.html中

$(document).on('click', '.archive-button', function(){
    var notice_id = $(this).data('notice_id');
    var archiveaddress = '/user/notices/archivenotice/' + notice_id;
    $.post(archiveaddress, {notice_id: notice_id}, function( data ) {
        if ( data ) { alert('Update needed!'); }
        else { alert('Update not needed.'); }
    });
});

archivenotice

my $update_needed = 0;
unless ($notice->read_on()) {
    $notice->read_on(scalar localtime);
    $update_needed = 1;
}
print "Content-type: text/plain\n\n";
print $update_needed;
exit;

答案 1 :(得分:2)

试试这个:

$(document).on('click', '.archive-button', function(){
   var notice_id = $(this).data('notice_id');
   var archiveaddress = '/user/notices/archivenotice/' + notice_id;
   $.post(archiveaddress, {notice_id: notice_id}).done(function() {
      alert( "update success" );
   });
});