为啥ajax一个接一个地发送请求

Posted

技术标签:

【中文标题】为啥ajax一个接一个地发送请求【英文标题】:why ajax sending request one after another为什么ajax一个接一个地发送请求 【发布时间】:2018-07-12 16:23:00 【问题描述】:

我今天想知道。

在我的项目中,ajax 没有进行异步调用。请求一个接一个地发送。

在处理一个请求时,其余的所有请求都处于待处理状态。

您可以在下图中看到

这是昨晚发生的。

【问题讨论】:

能否提供发送 ajax 请求的代码? 希望链接***.com/questions/6685249/…能帮到你 function DelVideos(VideoID) var param = "VideoID": VideoID ;参数 = JSON.stringify(param); $.ajax( type: "Post", url: "/KnowledgeAreas/DelVideos", contentType: "application/json; charset=utf-8", data: param, success: function (data) $('#DelVideoModal ').find('button.close').click(); GetVideos(); ,错误:函数(响应)警报(响应);); ; 这是正常的 ajax 调用,只是它一直工作到昨晚。我不知道我的项目发生了什么。 请求一个接一个地发送 【参考方案1】:

如何应用 Ajax 调用无关紧要。它与 ASP.NET 最相关的是管理会话。这里是官方documentation。

并发请求和会话状态

访问 ASP.NET 会话状态 每个会话都是独占的,这意味着如果两个不同的用户 并发请求,授予对每个单独会话的访问权限 同时。但是,如果对 相同的会话(通过使用相同的 SessionID 值),第一个请求 获得对会话信息的独占访问权。第二个请求 仅在第一个请求完成后执行。

如您所见,如果对同一会话发出两个并发请求(在您的情况下是这样),则在第一个请求得到响应后应用第二个请求。

编辑

如果您不希望这种行为,您可以使用SessionStateAttribute 装饰您的控制器并禁用访问会话。

[SessionState(SessionStateBehavior.Disabled)]

如果你只想读取会话的权限,你可以像这样添加属性。

[SessionState(SessionStateBehavior.ReadOnly)]

【讨论】:

谢谢。您的回答与我当前的问题有关。 我在我的 web.config 文件中使用 这个 你能详细解释一下吗 请查看此链接***.com/questions/48595097/… 这是我的另一个问题

以上是关于为啥ajax一个接一个地发送请求的主要内容,如果未能解决你的问题,请参考以下文章

为啥axios请求接口会发起两次请求

同步请求和异步请求的区别(理解ajax用)

ajax

浏览器在 ajax 请求上发送 Origin 标头,但不是通过简单的 HTTP Get 请求。为啥?

为啥 X-editable 不发送 AJAX 请求发送修改后的数据?

为啥我无法通过普通浏览器请求获得 ajax 请求的响应? [复制]