我正在用PHP创建一个网站,该网站利用不同的网站来获取用户数据。我在一个单独的页面中设置了一个jQuery函数,它接受了类get_user_full_name的所有span元素。
当页面加载时,此函数将使用jQuery发送$ .post请求,获取用户的名称并将其插入到跨度中。
HTML范围:
<body onload="loadExternalData()">
<span class="get_user_full_name" data-id="xy12345">Loading username...</span>
</body>
jQuery函数:
function loadExternalData(){
if($(".get_user_full_name").length != 0){
$(".get_user_full_name").each(function(){
$.post(path+"loadPHPRequests.php", {student_id: $(this).data("id")}, makeHandler($(this).data("id"), "full_name"));
});
}
}
当用户想要转到其他页面时,问题就出现了。如果仍在进行请求,并且用户单击链接,则页面将不会更改,直到所有$ .post请求都已完成。我需要的是点击一个链接来停止所有当前的$ .post请求并重定向页面。 我知道一种方法是将每个帖子请求保存为变量,然后在单击链接时单独取消每个帖子。但是,我在外部脚本文件中创建了此函数,然后将其包含在每个页面中:
<script src="/scripts/js.js"></script>
因此,我无法看到如何以这种方式跟踪变量。有没有办法取消所有请求?
非常感谢您的帮助!