第一个AJAX调用花了太多时间等待

时间:2015-12-01 08:54:42

标签: php jquery ajax response wait

我的第一个AJAX请求(手动或使用jQuery' s load,get,post,ajax)需要花费太多时间(50+秒)。以下AJAX请求变得正常。

当我使用Chrome和Firefox的网络部分解决问题时,它显示等待将近51秒(附件是屏幕截图)。为什么要花这么多时间?我无能为力,请求等待的是哪一件事。 这是我的代码

$(function() {
    $('#frmPrd').live('submit', function(event) {
        event.preventDefault();
        mUrl = "page1.php";
        $.ajax({
            url: mUrl,
            type: 'POST',
            data: $("#frmPrd").serialize(),
            success: function() {
                //Following request is taking 50+ seconds.
                $("#dvCart").load("page.php");
            },
            error: function() {
                alert('Error occurred.');
            }  
        });
    });
});

网络部分的screeshot Waiting for what?

我已经问过这个问题(以下链接),但问题仍未解决。 jQuery simple load taking too much time for first call

1 个答案:

答案 0 :(得分:0)

等待时间完全取决于您的服务器(在某些情况下还取决于您的网络连接)。这是从客户端发送请求到第一次开始接收响应的时间。假设您的网络连接速度非常慢或延迟时间非常短(如卫星链路),这几乎就是服务器响应请求需要多长时间。

如果只有第一个ajax调用这么慢,那么服务器上可能存在某种“启动”时间。如果这是繁忙的服务器或服务器过载,那么可能是您的应用程序被换出内存或缓存为空,并且需要更长的时间才能启动并运行应用程序并准备好开始处理响应。当许多其他活动应用程序共享相同的资源且您的服务器最近未处于活动状态时,这在共享托管环境中可能更常见。

由于这看起来像一个PHP服务器,可能是Web服务器使用的PHP引擎有一些启动时间,或者Web服务器必须加载一些东西才能开始处理PHP请求,并且初始化需要一些时间。或者,它可以像服务器上的硬盘驱动器一样简单,并且必须在事情开始处理之前加速。

需要在服务器上进行检测和分析,以确切了解哪个问题可能是服务器端延迟的主要原因。