作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段 JQuery AJAX,它调用返回字符串数据的 VB.NET 代码隐藏(类)。它获取特定服务器上的一些最新统计数据。现在代码可以工作,但第一次按下刷新按钮时,数据会返回,并且屏幕上会显示“已刷新”警报。
但是如果我再按一次,警告框“刷新”会显示两次,我再点击三次!如此反复,直到超时。
它似乎来自 AJAX 调用,而不是其他地方。我不知道这是什么,我尝试删除成功后返回的数据,但没有喜悦。关于可能导致此问题的原因或在哪里查找有什么想法吗?
function RefreshServer(btn,div,id,ip) {
$('#aRefresh'+id).html("<img src=images/refreshServer.gif border=0 align=absmiddle />");
$("#"+btn).click(function() {
$.ajax({
type: "POST",
url: "Dashboard.aspx/refreshServerAJAX",
timeout: 5000,
data: "{'IP': '" + ip + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
var substr = msg.d.split('%');
$('#serverBox_mod'+id).html(" " +substr[0]);
$('#serverBox_map'+id).html(" " +substr[1]);
$('#serverBox_playing'+id).html(" " +substr[2] + "/" + substr[3]);
$('#serverBox_img'+id).html("<img src=images/Maps/" + substr[4] + " height=80 width=120 border=0 style=margin-top:10px;margin-bottom:10px; />");
$('#serverBox_title'+id).html(" " +substr[5]);
$('#aRefresh'+id).html("Refresh");
delete substr
delete msg
alert("Refreshed");
},
error: function(msg) {
$('#aRefresh'+id).html("Refresh");
$('#serverBox_title'+id).html("Server didn't respond!, sorry about that. Please try again...");
}
});
});
}
最佳答案
我猜你每次调用该函数时都会绑定(bind)点击事件。因此它对服务器页面进行了多次 ajax 调用。所以如果你想保持代码结构不变并修复它,我会解绑已经添加的点击事件并重新绑定(bind)它。
function RefreshServer(btn,div,id,ip) {
$("#"+btn).unbind('click');
$("#"+btn).click(function() {
//your ajax code is here
});
}
关于jquery - AJAX 调用每次调用时都会将自身增加 +1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10484907/
我是一名优秀的程序员,十分优秀!