[問題] ajax製作查詢百分比進度問題
目前使用ASP.NET想要做到可以後端查詢進度的前端顯示
code大致如下
function getprogress() {
$.ajax({
url: 'abc.aspx',
data: {'type': 'progress'},
success: function (data) {
$('#p').text(data + '%');
}
});
}
function getdata() {
var timer = setInterval(getprogress, 500);
$.ajax({
url: 'abc.aspx',
data: {'type': 'data'},
success: function (data) {
$('#data').text(data);
},
complete: function() {
clearInterval(timer);
}
});
}
本來的構想是
getdata會去呼叫好幾個webservice執行查詢,再把所有資料組合回傳
進度計算是用「目前呼叫到的webservice/所有需呼叫的webservice」
再把進度寫到session裡,用getprogress讀取session顯示在前端
可是會變成第一個request送出去是getdata
之後再陸續送getprogress的request
而後面的request全部都卡在等第一個request完成後,後端才繼續受理回傳進度
結果是等到資料都送回來了,後面的進度才傳回100%回來
有辦法讓後面的request不等待第一個要求完成,直接取得目前的處理進度嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.124.82
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1427811462.A.7B9.html
推
04/01 22:55, , 1F
04/01 22:55, 1F
→
04/01 22:57, , 2F
04/01 22:57, 2F
→
04/01 23:04, , 3F
04/01 23:04, 3F
→
04/01 23:05, , 4F
04/01 23:05, 4F
→
04/01 23:05, , 5F
04/01 23:05, 5F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章