Javascript 使用ajax jquery时函数超时
大家下午好 我在jquery/ajax中有以下代码Javascript 使用ajax jquery时函数超时,javascript,jquery,ajax,Javascript,Jquery,Ajax,大家下午好 我在jquery/ajax中有以下代码 $.ajax({ url:'../pujar', dataType:'json', type:'get', cache:true, }); 当我发送php时,这段代码可以正常工作,但现在我不知道如何在ajax中使用超时 在另一个代码中,我使用以下结构,代码没有任何问题 setInter
$.ajax({
url:'../pujar',
dataType:'json',
type:'get',
cache:true,
});
当我发送php时,这段代码可以正常工作,但现在我不知道如何在ajax中使用超时
在另一个代码中,我使用以下结构,代码没有任何问题
setInterval(function() {
$.ajax({
url: '../ajaxpujas',
dataType: 'json',
type: 'get',
cache: true,
success: json,
});
function json(data) {
$("#tbodyid")
.empty();
$(data)
.each(function(index, value) {
var table = '<tr><td>' + value.users.name + '</td><td>' + value.id + '</td></tr>';
$('#tbodyid')
.append(table);
});
}
}, 1000);
为请求设置超时(以毫秒为单位)。这将覆盖使用$.ajaxSetup设置的任何全局超时。超时时间从$.ajax调用开始;如果有多个其他请求正在进行,而浏览器没有可用的连接,则在发送请求之前,请求可能会超时。在jQuery1.4.x及以下版本中,如果请求超时,XMLHttpRequest对象将处于无效状态;访问任何对象成员都可能引发异常。仅在Firefox 3.0+中,脚本和JSONP请求不能通过超时取消;脚本将运行,即使它在超时时间之后到达
超时时间(单位:$.ajax)设置请求完成的超时时间(单位:毫秒),如果由于任何原因请求未在请求将中止的时间范围内完成
你必须使用
setInterval(function() {
$.ajax({
url: '../pujar',
dataType: 'json',
type: 'get',
cache: true,
success: function (data) {
}
});
}, 1000);
AJAX请求中使用的超时与javascript中的setTimeout不同。AJAX超时实际上指定了请求超时的时间 根据jquery的文档 超时 类型:编号 为请求设置超时(以毫秒为单位)。这将覆盖使用$.ajaxSetup设置的任何全局超时。超时时间从$.ajax调用开始;如果有多个其他请求正在进行,而浏览器没有可用的连接,则在发送请求之前,请求可能会超时 因此,您实际上为您的请求设置了超时,即如果源在1000毫秒内没有响应,则认为它是超时故障。因此,您必须每秒重新加载它
$.ajax({
url:'../pujar',
dataType:'json',
type:'get',
cache:true,
timeout:1000,
});
您试图用setInterval执行的操作将起作用。尽管我建议递归使用setTimeout,而不是setInterval,以获得更好的性能和预期效果。您到底想要什么?我需要每秒重新加载此代码以发送ajax请求。因此,您在上次ajax超时时遇到了问题:1000,确切地说,时间的正确形式是什么?我们或我应该使用setInterval函数吗?您声明您的代码工作完全符合您的要求。那么为什么不在新的ajax选项中使用这些代码呢?在另一个代码中,我使用以下结构,代码没有任何问题。