【发布时间】:2019-07-28 21:44:38
【问题描述】:
假设我有一个简单的 jQuery POST 脚本:
$(document).ready(function () {
$.post("post-data.php")
.done(function (data) {
// Done function
}).fail(function () {
// Fail function
});
});
假设我有这个 HTML:
<div id="page">
<a href="link.php">Some link</a>
<div id="jquery-data-response"></div>
</div>
如果 post-data.php 在 10 秒后返回数据,而我在 10 秒内点击“Some link”,则在 jQuery POST 请求完成后会加载页面“link.php”,因此用户必须等待最多 10 秒。
这也适用于 jQuery GET 请求。
现在我有两个问题。
- 问题出在哪里?是服务器问题(假设脚本已经完全优化并且不能超过 10 秒,它也发生在带有 XAMPP 的 localhost 上)、jQuery 问题(缺少处理用户交互的函数?)还是浏览器问题(Chrome 是否必须等待所有请求都得到处理?)?
- 是否有可能解决这个问题(以及如何解决)?
【问题讨论】: