Javascript 使用ajax jquery时函数超时

Javascript 使用ajax jquery时函数超时,javascript,jquery,ajax,Javascript,Jquery,Ajax,大家下午好 我在jquery/ajax中有以下代码 $.ajax({ url:'../pujar', dataType:'json', type:'get', cache:true, }); 当我发送php时,这段代码可以正常工作,但现在我不知道如何在ajax中使用超时 在另一个代码中,我使用以下结构,代码没有任何问题 setInter

大家下午好

我在jquery/ajax中有以下代码

$.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选项中使用这些代码呢?在另一个代码中,我使用以下结构,代码没有任何问题。