我对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的脚本;成功"
答案 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" );
});
});