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

Php 如果在第一次调用得到响应之前再次调用,如何停止第一个ajax请求?,php,javascript,jquery,Php,Javascript,Jquery,在某些情况下,您的请求可能需要很长时间,因为 您的客户端internet连接或服务器出现一些问题 联系因此,由于客户机不想等待,所以他单击Ajax 再次链接,再次将请求发送到服务器,这会造成混乱 以下是: 在浏览器中呈现我们的网站,因为我们提供额外的 加载到浏览器 如果第二个请求处理正确,并且您向用户显示 页面,然后出现您的第一条错误消息 请求(表示请求超时)在正确的 内容和用户阅读正确内容的混乱 如果Ajax函数被调用两次,我想停止第一个Ajax响应。我该怎么做 因此,如果调用Ajax函数,我

在某些情况下,您的请求可能需要很长时间,因为 您的客户端internet连接或服务器出现一些问题 联系因此,由于客户机不想等待,所以他单击Ajax 再次链接,再次将请求发送到服务器,这会造成混乱 以下是:

  • 在浏览器中呈现我们的网站,因为我们提供额外的 加载到浏览器
  • 如果第二个请求处理正确,并且您向用户显示 页面,然后出现您的第一条错误消息 请求(表示请求超时)在正确的 内容和用户阅读正确内容的混乱
  • 如果Ajax函数被调用两次,我想停止第一个Ajax响应。我该怎么做

    因此,如果调用Ajax函数,我想停止第一个Ajax响应 两次

    您实际上想要的是在第一个请求正在进行时阻止第二个请求

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

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

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

    • 如果这是一个复杂/耗时的操作,比如生成报告或上传文件,那么进度条就可以了
    • 如果这是因为客户的互联网连接,请提前说出来,就像Gmail:你的互联网连接很慢,而这个网站可能很慢。更好的是,提供一个备用选项,减少/不使用Ajax
    • 你说因为我们给了浏览器额外的负载:这有点可疑。你不会给浏览器额外的负载,除非你给它大量的HTML来呈现。仅对浏览器上的小更新使用Ajax。如果希望进行较大的更改,则可能需要重新加载页面
    因此,如果调用Ajax函数,我想停止第一个Ajax响应 两次

    您实际上想要的是在第一个请求正在进行时阻止第二个请求

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

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

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

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

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


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

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


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

    请在发布前检查拼写。此外,您可能希望在发布前阅读一次您的问题。请在发布前检查拼写。此外,您可能希望在发布之前阅读一次您的问题。这正是我的团队对我们的web应用程序所做的,如果他们必须等待(很少)禁用并显示“工作”通知。好的建议。这正是我的团队对我们的web应用程序所做的,如果他们必须等待(很少)禁用并显示“工作”通知。好建议。