如何展示"实时反馈"在使用jQuery的脚本上?
我有button
我用来提交表单进行处理。处理需要很长时间。我希望有一个<div id="progress"></div>
,其中显示了订单处理脚本正在执行的实时进度报告。如果一切顺利,我想重定向到View Order脚本,如果没有,只需显示进度报告(不重定向到查看订单)
如何?目前我有这个:
$("#placeorderbutton").click(function(e) {
e.preventDefault();
this.innerHTML = 'Placing Order...';
this.disabled = true;
$.ajax({
type: 'post',
url: 'process_order.php',
data: $('form#order').serialize(),
success: function(data) {
$("#main").load('view_order.php');
}
});
});
即使我的process_order
文件中有打印语句,它们也不会显示在屏幕上的任何位置。嗯,当然不是......我不知道如何构建我的jQuery / AJAX来让它们显示出来。
我不知道该怎么办。
答案 0 :(得分:1)
您需要启动长进程,然后启动计时器以轮询状态。请记住,这不会花费太多,因为它变得比它的价值更高。
$("#placeorderbutton").click(function(e) {
e.preventDefault();
this.innerHTML = 'Placing Order...';
this.disabled = true;
$.ajax({
type: 'post',
url: 'process_order.php',
data: $('form#order').serialize(),
success: function(data) {
$("#main").load('view_order.php');
}
});
setTimer($.ajax({
type: 'post',
url: 'view_order.php',
data: $('form#order').serialize(),
success: function(data) {
$("#main").append(data);
}
}), 30000); //check every 30 Seconds
});