2
我的页面上有一个表单。当您提交表单时,我会向服务器发送Ajax调用。服务器端是C#asp.netAjax轮询而另一个Ajax运行
然后服务器上的控制器正在做一些事情并将当前状态保存到Session中。 ajax呼叫需要大约3分钟。
所以我想设置一个Ajax轮询脚本,它将每5秒向服务器发送一个Ajax请求,并从Session读取当前的统计信息并更新前端。
问题是ajax轮询调用正在等待,直到第一个ajax完成。
所以,当第一个ajax正在运行,并在服务器端做一些事情并更新Session中的当前状态时,我想要另一个轮询脚本,它将在此期间从会话读取此状态,但问题在于它只是在等待第一个ajax要做。
这里有什么问题。我对会话的了解很少,只是无法弄清楚问题所在,以及如何使其发挥作用。
function installation() {
var intervalID = setInterval(function() { checkStatus() }, 5000);
var data = {//some data};
$.post("/WebDomain/Installation", data, function (result) {
clearInterval(intervalID);
console.log(result);
});
};
function checkStatus()
{
$.post("/WebDomain/GetInstallStatus", function (result) {
console.log(result.Status);
});
}
你有没有考虑SignalR这个?听起来很合适:http://www.asp.net/signalr – Elliott
听起来不错。我希望我可以使用网络套接字来实现它。这将是更好的解决方案。但在这种情况下,如果可能的话,我只需要用它来轮询ajax。 – carpics
您是否在使用SQL进行某些操作?因为ajax应该是异步的,并且你应该能够多次调用服务器,问题可能是多个打开的连接(如果使用了SQL)。我不知道我是否不满 –