setInterval中使用ajax调用WebMethod方法的问题

damonxx 2019-08-09 03:40:03
在setInterval中使用ajax访问后台方法RequestProgress,刚开始无法进入RequestProgress中,过了2分钟左右才得到RequestProgress的返回值,也就是60左右,这是什么原因
前台:
function Uploadx() {
var interval = setInterval(function () {
//每次触发事件
$.ajax({
type: "post",//请求方式
async: true,
contentType: "application/json",
url: "DA_Method.aspx/RequestProgress",//发送请求地址
data: "{}",
cache: false,
dataType: "json",//设置返回数据的格式
success: function (data) {
var pos = parseInt(data.d);
top.Dialog.alert(pos);
if (pos >= 100) {
clearInterval(interval);
return;
}
},
//请求出错的处理
error: function () {
clearInterval(interval);
top.Dialog.alert("请求出错2!");
}
});
}, 3000);
$.ajax({
type: "post",//请求方式
async: true,
contentType: "application/json",
url: "DA_Method.aspx/sssss",//发送请求地址
data: "{}",
dataType: "text",//设置返回数据的格式
success: function () {
$("#form1").unmask();
},
//请求出错的处理
error: function (event, xhr, options, exc) {
top.Dialog.alert("请求出错1!");
$("#form1").unmask();
}
});
}

后台:
[WebMethod]
public static string sssss()
{
rate = 0;
for (int i = 0; i < 100; i++)
{
rate++;
Delay(2000);//延时两秒
}
return " ";

}

[WebMethod]
public static string RequestProgress()
{
return rate.ToString();
}
...全文
197 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
damonxx 2019-08-21
  • 打赏
  • 举报
回复
web.config里超时时间设定为120秒导致的
dmankill 2019-08-14
  • 打赏
  • 举报
回复
建议F12看方法有没有请求到服务器, 感觉是先调用了ssss,ssss方法阻塞了后面的请求
  • 打赏
  • 举报
回复
我怀疑你每次 都去调用

public static string sssss()
{
rate = 0;
for (int i = 0; i < 100; i++)
{
rate++;
Delay(2000);//延时两秒
}
return " ";

}

这个方法了 你自己看看
asq985 2019-08-09
  • 打赏
  • 举报
回复
F12调试一下看请求结果

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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