Javascript回调问题
问题如下
有一个任务,在前台由JS发向服务器,由于任务的执行时间比较长,并且有很多中间状态,想要在服务器执行任务期间,根据任务的执行状态,不断的更新前台。
现在我觉得有两种途径解决:
第一,前台查询,即在前台设置一个定时器,每隔一段时间查询服务端的执行情况,根据结果更新页面,但是担心频繁的查询影响性能,而间隔太长则无法及时更新状态;
第二,后台中断,即当服务端任务的状态有更新时,直接发消息通知前台,可惜不知道该如何实现。
不知道大家有没有什么好的办法?
------解决方案--------------------第二,后台中断,即当服务端任务的状态有更新时,直接发消息通知前台,可惜不知道该如何实现。
这个在http协议中是不被允许的,服务器永远不能主动推送消息
------解决方案--------------------直接ajax轮询就行了,服务端主动推送的话需要用websocket,低版本ie不支持,服务器也需要写相应代码
------解决方案--------------------用缓冲页面 即时输出
------解决方案--------------------
既然时间可能非常长,就别做ajax了,直接提供一个查询订单状态的链接即可,或者提供一个更新状态的按钮