jquery同时发送两个异步ajax请求,但数据却是按同步顺序返回

wo554006164 2014-04-16 10:31:37

var isComplete = false;
$(
function () {
$("#dialog-message").dialog({
resizable: false,
modal: true,
autoOpen: true
});
$("#dialog-message").html("<p>正在加载...</p>");
setTimeout(function () {
$.ajax({
type: "POST",
url: "ajax/querylist.ashx",
datatype: "json",
success: function (msg) {
$("#dialog-message").html("<p>加载完成!</p>");
isComplete = true;
setTimeout(function () {
$("#dialog-message").dialog("close");
}, 500);
}
});
}, 0);
}
);

function querystatus() {
$.ajax({
type: "POST",
url: "ajax/QueryStatus.ashx",
datatype: "text",
success: function (msg) {
$("#dialog-message").html("<p>" + msg + "</p>");
}
});
if (!isComplete) {
setTimeout(querystatus, 500);
}
}
setTimeout(querystatus, 100);



这段JS里有两个AJAX请求,一个是获取处理数据的列表,需要耗费几秒的时间,另一个AJAX去查询当前处理到哪一步了。
现在的问题是:虽然是异步把请求发出去了,但返回结果顺序却不对;现在要第一个AJAX把结果返回了,再返回第二个AJAX的结果;(第一个大概执行5秒,第二个就是一个输出状态的操作,执行很快)
我现在就想实现,在第一个AJAX请求的过程中,第二个AJAX可以不断的返回当前状态
...全文
482 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nanxiao84014021 2016-05-19
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
用到session了吧,会导致其他请求被挂起

session会挂起其他的请求,要改成cookie验证或者其他非session类的验证

参考:asp.net/asp网站浏览器打开一个长时间运行的页面同时打开其他页面为什么被挂起



参考网站不行了。。版主还有例子吗? 我现在某页面使用$.POST,后台会计算数据 大概20分钟,在此期间我菜单上的其他页面都点不开,该页面执行其他ajax请求也会被挂起。
  • 打赏
  • 举报
回复
用到session了吧,会导致其他请求被挂起

session会挂起其他的请求,要改成cookie验证或者其他非session类的验证

参考:asp.net/asp网站浏览器打开一个长时间运行的页面同时打开其他页面为什么被挂起[/quote]
wo554006164 2014-04-16
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
用到session了吧,会导致其他请求被挂起

session会挂起其他的请求,要改成cookie验证或者其他非session类的验证

参考:asp.net/asp网站浏览器打开一个长时间运行的页面同时打开其他页面为什么被挂起

原来是这原因。

52,800

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧