gpt4 book ai didi

jquery - AJAX 调用每次调用时都会将自身增加 +1

转载 作者:行者123 更新时间:2023-12-01 03:49:08 24 4
gpt4 key购买 nike

我有一段 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com