我如何确定每个访问者正在执行 jquery ajax 调用?

Posted

技术标签:

【中文标题】我如何确定每个访问者正在执行 jquery ajax 调用?【英文标题】:How can I be sure of jquery ajax call is executing for each visitor? 【发布时间】:2020-08-09 10:01:32 【问题描述】:

我有一个从 javascript 文件调用的 php 计数器“counter.php”。我想确定的是,当dom finsihes 加载时,每个访问者都会调用这个counter.php。我写了这段代码:

$(document).ready(function ()
$.ajax(
    url:"https://www.cloudflare.com/cdn-cgi/trace",
    cache:false,
    timeout:5000,
    success:function(data)
        cc=data.match(/loc=(.*)\n/);
        $.get('counter.php?cc='+cc[1]);
    ,
    error:function()
        $.get('counter.php');
    
);
);

我嵌入了 jquery。 这足以确保每次访问都会调用 counter.php 文件吗? 我的意思是每次访问都会执行ajax调用吗? 有没有可能成功:或者错误:ajax调用的函数不能执行?

【问题讨论】:

【参考方案1】:

您可以在完整回调中更新另一个计数器,以验证每个用户都触发了调用。将完整的计数器与唯一的访问计数器相匹配,您就可以确定它被触发了,无论是错误还是成功。

https://api.jquery.com/ajaxcomplete/

每当 Ajax 请求完成时,jQuery 都会触发 ajaxComplete 事件。此时会执行已使用 .ajaxComplete() 方法注册的所有处理程序。

【讨论】:

以上是关于我如何确定每个访问者正在执行 jquery ajax 调用?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 访问多维 JSON 数组中的数据

如何优化 Jquery 中的 ajax 请求? [关闭]

Vue JS Ajax 调用

Cucumber (rails 2) 没有加载 jQuery

jQuery $.post 没有执行,如何解决

如何使用java编辑jquery dataTable [关闭]