【发布时间】: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