第二个jQuery Ajax请求的巨大延迟

时间:2011-01-12 10:34:13

标签: javascript ajax jquery

我尝试使用此代码段刷新页面内容,进行一些简单的Ajax调用:

$("a.ajaxify-watched").bind("click", function(event) {

    $item = $(this);

    $.ajax({
        url: $(this).attr("href"),
        global: false,
        type: "GET",
        data: ({
            callback : "inline"
        }),
        dataType: "json",
        async:false,
        success: function(msg){
            if (msg.status == 200) {
                toggleStatus($item, msg)
            }
        }
    });
    return false;
});

这对我来说是完美的,对我而言,没有什么可以担心代码而是它执行的速度。

第一次一切正常:操作47毫秒。但在此之后,每隔一次Ajax调用就会得到2.6秒的持续延迟 - 每次都是如此。我检查了Firebug,发现它显示为“等待时间”。

我真的不能说这里发生了什么。 我们最近从纯Apache2切换到Nginx缓存反向代理,并使用Apache作为Backend Php Interpreter进行负载平衡。我们可以看到巨大的性能提升,一切都很好。我无法判断我的问题何时首次出现,以及它是否真的与我们的新服务器设置有关。

我今天刚刚发现,jQuery存在问题所以我只想提供尽可能多的信息。

谢谢,如果我应该提供更多信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果Firebug指示等待它看起来像服务器问题。

有没有办法在没有ajax的情况下直接调用页面?如果是这样,尝试这样做并检查页面是加载还是慢?

另外,请检查您是否在ajax上触发任何可能影响此事件的事件。

大多数服务器只处理来自同一服务器的单个页面加载,因此在队列中处理多个页面加载,因此如果您有并行的ajax调用,则可能必须等待彼此。