日期:2014-05-16  浏览次数:20935 次

jquery实现后台状态读取 - Web 开发 / Ajax
要做的一个效果是由客户端发起一个请求到/start_one_job开始一个时间很长的任务(大概十几分钟的时间),这个任务会将得到的数据插入到数据库中,然后再由客户端每隔十秒轮询/view_status,服务器端返回已经插入的数据的条数,最新插入的十个数据,在浏览器中显示出来,直到这个任务结束。在实现时使用的是django后台。实现的时候参考了http://www.djangosnippets.org/snippets/994/这个页面上的东西。
但是如下的代码存在问题
$('#div).load("/start_one_job");//向服务器端发送GET请求开始任务
window.setTimeout(view_status, 10000);//view_status是轮询数据插入状态的一个函数,会将页面更新

现在的问题是load那一行代码执行完后浏览器并不会更新,view_status要等到整个任务执行完成后才执行
即使我调换这两行代码的次序依旧如此,请各位帮帮忙,能不能帮我解决下这个问题,或者有没有什么其他的解决方案?
(其实用服务器推送技术可以解决,但是我嫌麻烦,还要去看新的推送框架,就用js轮询来实现这个效果了)

------解决方案--------------------
"load那一行代码执行完后浏览器并不会更新"会不会是出现了异常,调试一下吧