Javascript 尝试仅在AJAX请求后发布,但POST一直处于激活状态
我试图在每个完成的ajax请求之后发布Javascript 尝试仅在AJAX请求后发布,但POST一直处于激活状态,javascript,jquery,ajax,Javascript,Jquery,Ajax,我试图在每个完成的ajax请求之后发布 jQuery(function($) { jQuery(document).ajaxComplete(function() { $.post('/wp-admin/admin-ajax.php', {data:'hello'}, function(response) { console.log(response); }); });
jQuery(function($) {
jQuery(document).ajaxComplete(function() {
$.post('/wp-admin/admin-ajax.php', {data:'hello'}, function(response) {
console.log(response);
});
});
});
这只会持续开火,不会停止。如果我发出警报,它只会发出两次,因为有两个请求,但由于某种原因,帖子会一直发出。来自文档:
注册Ajax请求完成时要调用的处理程序。这是
一件大事
显然,一旦post请求完成,就会触发一个事件,使您陷入无休止的循环
你可以用这样的东西
$.get(....).complete(function(){
$.post('/wp-admin/admin-ajax.php', {data:'hello'}, function(response) {
console.log(response);
});
})
如果您希望它在ajax请求发生时发生,您必须将事件侦听器添加到每个请求中,并在每个
$中删除它。post
$。post
生成ajax请求您应该钩住.post()
调用,通过使用这些特定ajax调用的complete:fn
参数,只完成您希望它触发的特定ajax调用。那么你就不会得到这个无限循环了,这是有道理的!我不知道为什么我没有意识到为什么我会陷入循环。