如果第一个ajax请求在第一个调用获得响应之前再次被调用,如何停止第一个ajax请求

How to stop the 1st ajax request if it is called again before the first call gets a response?

本文关键字:第一个 调用 请求 ajax 何停止 响应 如果      更新时间:2023-09-26

在某些情况下,您的请求需要很长时间,因为您的客户端Internet连接或服务器的一些问题连接。因此,由于客户端不想等待,他单击Ajax再次链接,再次将请求发送到服务器,再次出错

  1. 渲染我们的网站在浏览器中,因为我们给额外的加载到浏览器。
  2. 如果第二个请求处理正确,您显示用户页面,然后出现来自第一个页面的错误消息请求(表示请求超时)在正确的情况下加载上面

如果Ajax函数被调用两次,我想停止第一个Ajax响应。我该怎么做呢?

所以我想停止第一个Ajax响应,如果Ajax函数被调用两次

你真正想要的是在第一个请求正在进行时防止第二个请求。

例如,您可能必须将Save按钮更改为Saving...,禁用它(并添加一个小进度轮)以向用户提供实时反馈。(Facebook就是这么做的)

关键是爱反馈给用户。如果用户不知道发生了什么,他们会认为什么也没发生。

您可能想要检查为什么操作需要很长时间

  • 如果这是一个复杂/耗时的操作,比如生成报告或上传文件,那么应该使用进度条
  • 如果这是由于客户端的互联网连接,说它前面,像Gmail: 你有一个缓慢的互联网连接,这个网站可能会很慢。更好的是,提供一个后备选项,使用更少/没有Ajax。
  • 你说是因为我们给了浏览器额外的负载:这有点可疑。你不会给额外的加载给浏览器,除非你给它大量的HTML来渲染。仅在浏览器上的小更新中使用Ajax。如果您希望有较大的更改,您可能需要重新加载页面。

如果您开始使用某种形式的JavaScript,那么该链接要么被隐藏,要么被禁用,直到页面请求被执行。例如,您可以让请求的ajax等待第二个变量,该变量将启用该链接,以便用户可以单击它。但是,在从原始AJAX请求接收到该变量之前,它将禁用单击,然后如果单击它,它将再次禁用并等待相同的变量再次返回。

想想有些开发人员如何禁用表单上的提交按钮,这样用户就不能重复提交表单。这里的概念是一样的

相关文章: