Php ajax请求一旦在mouseover上发送,就会收到响应,但当我再次在html元素上鼠标悬停时,不应再次发送
我在鼠标悬停事件上发送ajax请求,并收到所需的响应。 但当我再次发送时,将鼠标悬停在发送请求的元素上,请求将再次发送 我不想再次发送请求,而是希望页面使用以前收到的响应 谁来做这件事??这是一个示例代码。->鼠标悬停时调用此函数,不希望在同一鼠标悬停元素上再次发送请求Php ajax请求一旦在mouseover上发送,就会收到响应,但当我再次在html元素上鼠标悬停时,不应再次发送,php,ajax,jquery,Php,Ajax,Jquery,我在鼠标悬停事件上发送ajax请求,并收到所需的响应。 但当我再次发送时,将鼠标悬停在发送请求的元素上,请求将再次发送 我不想再次发送请求,而是希望页面使用以前收到的响应 谁来做这件事??这是一个示例代码。->鼠标悬停时调用此函数,不希望在同一鼠标悬停元素上再次发送请求 function showImage(val) { $("#DIV").html('<IMAGESOURCE="../adsd/ajax_loader.gif">'); $.ajax({
function showImage(val)
{
$("#DIV").html('<IMAGESOURCE="../adsd/ajax_loader.gif">');
$.ajax({
type : "get",
cache : false,
url : "blabla.php?imgID="+val,
data : $(this).serializeArray(),
success: function(data) {
document.getElementById("DIV").innerHTML = data;
}
});
};
函数showImage(val)
{
$(“#DIV”).html(“”);
$.ajax({
键入:“获取”,
cache:false,
url:“blabla.php?imgID=“+val,
数据:$(this).serializeArray(),
成功:功能(数据){
document.getElementById(“DIV”).innerHTML=数据;
}
});
};
我认为您需要在鼠标上使用
if(!jQuery.data(dom, 'sent')){
//take action
jQuery.data(dom, 'sent', true);// do it on success
}
在收到响应时将变量设置为值,并在发送请求之前检查该变量
var response = false;
function showImage(val)
{
$("#DIV").html('');
if (response == false) {
$.ajax({
type : "get",
cache : false,
url : "blabla.php?imgID=" + val,
data : $(this).serializeArray(),
success: function(data)
{
document.getElementById("DIV").innerHTML = data;
response = true;
}
});
} else {
// What to do if the request was sent before
}
};
如果(!jQuery.data(dom,'sent'){$.ajax({type:“get”,cache:false,url:“blablabla.php?imgID=“+val,data:$(this).serializeArray(),success:function(data){document.getElementById(“DIV”).innerHTML=data;} }); }; } 这是我应该做的吗??我不能让它工作…:(请注意,此方法目前不支持跨平台设置XML文档上的数据,因为Internet Explorer不允许通过expando属性附加数据。--我不是专家,但这听起来不太好。您怎么说???是否包含
jQuery.data(dom,'sent',true)
在您的成功功能的末尾
?我很长时间没有使用jQuery进行更新。因此,我无法说出当前的情况。几年前,当我这样做时,我在多个浏览器中使用jQuery.data,没有任何问题。我还记得更多:(很好,很有帮助。这个解决方案给了我另一个问题…我将如何显示之前发送的请求上收到的图像??鼠标悬停??谢谢你的帮助,Ibrahim。我不确定你想做什么…但我假设响应将是
元素?在这种情况下,你不需要else
案例。Otherwise,你能告诉我你到底想要实现什么吗?