我正在编写一个动态网站,该网站使用AJAX检查公司前端和后端员工之间的库存项目状态。一名员工提交一个请求,后面的人看到请求出现在队列中,然后根据请求的商品是否有库存做出响应。然后,前端员工会看到他们的请求状态发生了适当的变化。
的问题,我有,也许有做事情的更好的方法,发生当代码使用AJAX从数据库中的表检索所有活动的请求,然后使用jQuery的。empty()函数清除容器div持有所有旧的请求(setInterval()每2秒)和使用PHP脚本重新生成一个基于AJAX结果的动态队列。
setInterval()函数,该函数调用。empty()容器div导致队列可见地消失并重新出现的函数。是否有更好的方法来更新队列使用jQuery,而不是清空整个队列,然后根据更新的状态重建它?我不能简单地查询最新的请求,因为旧请求的状态可能已经改变,也需要更新。
希望这是清楚的,如果不是,那么请问什么更多的信息是需要的,和任何帮助将非常感激,谢谢!
像这样…
$(document).ready(function(){Update();});
function Update() {
$.ajax({
url: 'http://example.com/url/to/poll',
success: function(data) {
$('#MyDiv').html(data);
setTimeout('Update()', 2000);
},
fail: function() {
//Something went wrong. Inform user/try again as appropriate
alert('Failed');
setTimeout('Update()', 2000);
}
})
}
它只在当前任务完成后启动下一个2s延迟。而且,它永远不会清空Div,它只是用新的内容替换旧的内容。