【问题标题】:jQuery simple load taking too much time for first calljQuery 简单加载第一次调用花费了太多时间
【发布时间】:2016-03-01 17:48:12
【问题描述】:

我的简单 jQuery 的加载语句花费了太多时间(50 多秒)。没有服务器端问题,服务器的页面逻辑很简单。我也尝试过 $.ajax$.get 甚至尝试使用手动 AJAX 调用 (XMLHttpRequest)

以下是 jQuery 加载的示例。

$(function() {
    $('#frmPrd').live('submit', function(event) {
        event.preventDefault();
        mUrl = "page1.php";
        $.ajax({
            url: mUrl,
            type: 'POST',
            data: $("#frmPrd").serialize(),
            success: function() {
                //Logged Unix timestamp here which was 1448631101 (27 Nov 2015 13:31:41 GMT)
                $("#dvCart").load("page.php");
            },
            error: function() {
                alert('Error occurred.');
            }
        });
    });
});

然后在 page.php 我记录了(页面的第一个语句)返回 1448631153(2015 年 11 月 27 日 13:32:33 GMT)的时间戳,即与我之前记录的时间戳相差 52 秒调用页面。 这里可能是什么问题?这 50 多秒浪费在哪里了? 另请注意,此延迟适用于第一次呼叫,对于所有来电,延迟是正常的。我的整个网站在 https (TLS 1.2) 上运行

【问题讨论】:

  • page1.php 是做什么的?
  • 在 FireFox(其他浏览器也有类似的选项)- F12,选择网络,重新加载你的页面。看看时间在哪里。 Start-Finish 可能是 52 秒,但仅用于“连接”可能是 50 秒
  • @Wolfeh pag1.php 将商品添加到购物车。 frmPrd 有要添加到购物车中的商品数据
  • @freedomn-m 它是对 page.php 的 GET 请求,在 Network (Firefox) 中显示大约 52 秒。但是根据时间记录,该页面在前 51 秒内没有被点击。
  • 请注意,这个巨大的时间只是第一次(即第一个项目被添加到购物车中),对于所有其他调用,此过程在 1 秒内完成或最多需要 1 秒,这是正常的,并且符合预期。

标签: php jquery ajax https load


【解决方案1】:

这是与 https 服务器的初始握手,需要时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 2021-09-15
    • 1970-01-01
    • 2017-02-15
    相关资源
    最近更新 更多