我正在使用Ajax来获取一些数据。问题是ajax请求来自悬停按钮,因此很容易向该请求发送垃圾邮件,这可能导致error 404 or error 500
失败。这是我的ajax代码:
$.ajax({
url: location.origin+'/getcat',
data : {
't': id
},
success: function(){ alert("I'm handsome"); }
});
问题是如何防止此垃圾邮件请求?
最佳答案
您可以使用setTimeout()
来实现:
$(document).ready(function(){
var timer;
var delay = 1000;
$("p").hover(function(){
timer = setTimeout(function() {
console.log("Requesting")
$.ajax({
url: location.origin+'/getcat',
data : {
't': id
},
success: function(data){
alert('Im handsome');
}
});
}, delay);
}, function(){
clearTimeout(timer);
console.log("Canceled request")
});
});