我怎样才能确定每个访客的jquery ajax调用都在执行?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我怎样才能确定每个访客的jquery ajax调用都在执行?相关的知识,希望对你有一定的参考价值。

我有一个从javascript文件中调用的php计数器 "counter.php"。我想确保当dom加载完毕时,每个访问者都会被调用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调用的成功:或错误:函数无法执行?

答案

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

https:/api.jquery.comajaxcomplete

每当一个Ajax请求完成时,jQuery就会触发ajaxComplete事件。任何和所有的处理程序已经注册了.ajaxComplete()方法,在这个时候被执行。

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

AJAX 调用似乎从未发生过

jQuery的$.Ajax()返回的数据如何才能保存给全局变量?

如何确定为啥 jQuery ajax $.post 请求不成功?

无法从 JQuery ajax 调用接收 JSON

如何调试 jquery AJAX 调用?

怎么才能把Ajax返回值作为JS的返回值传出去