【问题标题】:Is there any way I can see how long a JQuery AJAX call takes to execute?有什么方法可以查看执行 JQuery AJAX 调用需要多长时间?
【发布时间】:2010-08-11 02:49:19
【问题描述】:

在 jquery/javascript 中,是否可以查看一个简单的 $.getJSON 方法调用使用某种类型的计时代码需要多长时间?

其次,有什么方法可以查看响应 Content-Length 的大小(以 kB 还是 MB 为单位)?

【问题讨论】:

    标签: javascript jquery timing content-length


    【解决方案1】:

    如果您想要纯 JavaScript,请在​​发送请求之前使用 new Date().getTime(); 备注时间

    然后在 ajax 回调中,再次记下时间,并减去第一次。这将为您提供通话时长。

    类似这样的:

    function aCallback()
    {
       window.time2 = new Date().getTime();
       window.alert(window.time2 - window.time1)
    }
    window.time1 = new Date().getTime();
    $.ajax({
      url: url,
      dataType: 'json',
      data: data,
      success: aCallback
    });
    

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 我想,他想用javascript来做。可能需要弄乱响应头,不确定。
      • +1 我想知道我们是如何在没有 firebug 和 fiddler 的情况下进行 web 开发的。哦,是的,我记得现在它 更乏味了。
      • 不是我想要的。我正在寻找一些 JAVASCRIPT 代码。我知道如何使用萤火虫等。
      【解决方案3】:

      要回答您的第二个问题,您可以从 XHR 响应中读取 Content-Length 标头。

      var req;
      req = $.ajax({
          type: "HEAD",
          url: "/data",
          success: function () {
            alert("Size is " + req.getResponseHeader("Content-Length"));
          }
      });
      

      【讨论】:

      • 太棒了!我希望我能双击这个:(
      【解决方案4】:

      为什么要重新发明轮子?使用萤火虫的控制台记录时间。做这样的事情:

      function aCallback()
      {
         console.timeEnd("ajax call");
         window.alert(window.time2 - window.time1)
      }
      console.time("ajax call");
      $.ajax({
        url: url,
        dataType: 'json',
        data: data,
        success: aCallback
      });
      

      这将记录服务器响应返回调用所用的时间。它将以毫秒为单位将时间记录到 firebug 控制台。

      【讨论】:

      • 我无法使用控制台,因为我需要将其显示给客户端(即作为 html 中的文本)。客户端不会有萤火虫等。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 1970-01-01
      • 1970-01-01
      • 2011-01-20
      相关资源
      最近更新 更多