php - 如果在第一次调用得到响应之前再次调用它,如何停止第一个 ajax 请求?

标签 php javascript jquery

在某些情况下,您的请求可能需要很长时间,因为 您的客户端互联网连接或服务器存在一些问题 联系。因此,由于客户不想等待,他点击了 Ajax 再次链接,再次将请求发送到服务器,这搞砸了 以下内容:

  1. 在浏览器中呈现我们的网站,因为我们提供额外的服务 加载到浏览器。
  2. 如果第二个请求处理正确并且您向用户展示了怎么办 该页面然后出现您第一个错误消息 上面正确加载的请求(说请求超时) 内容并扰乱阅读正确内容的用户。

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

最佳答案

so i want to stop the 1st Ajax response if the Ajax function is called twice

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

例如,您可能需要将 Save 按钮更改为 Saving...,禁用它(并添加一个小进度轮)以向用户。 (Facebook 这样做)

关键是对用户的爱反馈。如果用户对正在发生的事情一无所知,他们就会认为什么都没有发生。

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

  • 如果这是一项复杂/耗时的操作,例如报告生成或文件上传,则应该使用进度条
  • 如果这是因为客户端的 Internet 连接,请提前说明,例如 Gmail:您的 Internet 连接速度较慢,并且此站点可能速度较慢。更好的是,提供后备选项,使用更少/没有 Ajax。
  • 你说因为我们给浏览器增加了额外的负载:这有点可疑。你不会给浏览器额外的负载,除非你给它大量的 HTML 来呈现。仅将 Ajax 用于浏览器上的小更新。如果您预计会有较大的变化,您可能需要重新加载页面。

关于php - 如果在第一次调用得到响应之前再次调用它,如何停止第一个 ajax 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7136364/

相关文章:

php - 具体的mysql插入

php - 加入表后不从数据库中检索行

javascript - 通过 Ajax 从 Django 连续获取图像

javascript - React-native 和 Firebase : Wait for Firebase data

javascript - 共享变量的问题

附加 html 时的 jquery 动画

php - 仅验证 Laravel 中的字母数字字符

php - 通过 $_GET 激活帐户的正确方法是什么?

javascript - 无法在 linux 中运行 npx react-native init

javascript - Jquery 延迟淡入元素