Ajax调用打开的连接太多?
我的网页有一个小问题,我正在使用ajax更新。当我在页面上停留一段时间(一个小时左右)时,它将停止加载,并且我无法在浏览器中显示任何页面。自从我将这个(简化的)javascript添加到我的页面后,我才开始出现这个问题:Ajax调用打开的连接太多?,ajax,post,connection,pageload,Ajax,Post,Connection,Pageload,我的网页有一个小问题,我正在使用ajax更新。当我在页面上停留一段时间(一个小时左右)时,它将停止加载,并且我无法在浏览器中显示任何页面。自从我将这个(简化的)javascript添加到我的页面后,我才开始出现这个问题: var interval; interval = setInterval('UpdateComs()',5000); function FuncGo() { $.post('data.php', { profile: pid }, function(data) {
var interval;
interval = setInterval('UpdateComs()',5000);
function FuncGo() {
$.post('data.php', { profile: pid }, function(data) {
$('.holder').html(data);
});
}
由于我的服务器没有关闭,这也不是问题所在,我想这可能是由于连接太多造成的?上述连接是否可以打开多个连接?
如果是这样,我是否应该以某种方式关闭它们?
很抱歉问了这么多问题,但我对连接的工作原理不太熟悉。。感谢您的帮助或建议我怀疑是一个随机错误(由于网络流量,连接延迟,可能是超时)停止了设置间隔。始终将annonomus函数(不是字符串)传递给setTimeout或setInterval,并且仅在完成前一个函数后调用下一个函数
function UpdateComs() {
$.ajax({
type: "POST",
url: 'data.php'
data: {profile:pid},
async: true,
cache: false,
timeout: 10000,
success: function(data){
$('.holder').html(data);
setTimeout(function(){UpdateComs(); },5000);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
//do what you want with the error
setTimeout(function(){UpdateComs(); },5000);
}
});
}
谢谢,我以后会尝试实现:)我问我的网络主机,他们说可能是因为我的IP地址在24小时内访问服务器超过2000次,这导致了该页面的IP禁令。这是否意味着有2000个不同的连接,或者它通过一个连接访问了2000次数据,这是否值得担心?如果我得到付费的网络主机,那么我可以避免这个限制。。感谢您的回复:)请注意,要发送下一个请求,您可能需要使用
complete()
回调,而不是在success
和error
回调中重复setTimeout()
调用。