我试图重新发送 AJAX 每5秒,如果出了问题,但由于某种原因,当我模拟离线连接与Chrom ajax请求被称为不间断的wtihout等待5秒后,每个请求。
我做错了什么?顺便说一句,我没有得到任何这些控制台。登录我的浏览器控制台
$('#filters-ajax').one('click', function(){
var product_id = "<?php echo isset($set_id) ? $set_id : NULL; ?>";
$.ajax({
url: "index.php?route=catalog/product/getFiltersGroup&token=<?php echo $token ?>",
type: "POST",
data: '&product_id='+product_id,
dataType: 'JSON',
timeout: 5000,
beforeSend: function(){
$('#btn-product-filter-groups').attr('disabled', true);
},
success: function(data){
$('#btn-product-filter-groups').attr('disabled', false);
},
error: function(xmlhttprequest, textstatus, message) {
console.log(xmlhttprequest);
console.log(textstatus);
console.log(message);
$.ajax(this);
}
});
})
1条答案
按热度按时间htrmnn0y1#
$.ajax()
选项对象的timeout
属性不定义延迟执行。相反,它用于在指定时间内未完成请求时取消请求。如果您希望重复 AJAX 调用并在其间定义时间,则必须使用
setTimeout()
或setInterval()
进行设置。下面是
setInterval()
的代码片段: