仅在 AJAX 请求后尝试开机自检,但开机自检一直触发

Trying to POST only after an AJAX request but the POST keeps firing

本文关键字:开机自检 一直 AJAX 请求 仅在      更新时间:2023-09-26

我正在尝试在每个完成的ajax请求后发布..

     jQuery(function($) {
        jQuery(document).ajaxComplete(function() {
            $.post('/wp-admin/admin-ajax.php', {data:'hello'}, function(response) {
                console.log(response);
            });
        });
    }); 

这只会不断发射,不会停止。如果我发出警报,它只会触发两次,因为有两个请求,但由于某种原因开机自检会不断触发。

来自

文档:

注册要在 Ajax 请求完成时调用的处理程序。这是 一个 AjaxEvent。

显然,一旦 POST 请求完成,就会触发一个事件,使您陷入无限循环。

你可以使用一些类似的东西

$.get(....).complete(function(){
 $.post('/wp-admin/admin-ajax.php', {data:'hello'}, function(response) {
      console.log(response);
   });
})

如果您希望在发生 ajax 请求时发生这种情况,则必须将事件侦听器添加到每个请求中,并在每个请求中删除它$.post