我正在制作一个Steam API的网站 我是通过亲自签名的朋友列表来尝试的。
但是你拥有的朋友越多,加载页面所需的时间就越长 所以我在页面加载完成后立即开始加载朋友。
如果我在页面请求朋友列表时尝试刷新页面或注销,它会一直加载,直到获取好友列表,然后才刷新页面或注销。
如何修复,以便我可以刷新页面而无需等待请求被执行。
这是我用来加载PHP文件的jQuery:
$(function() {
$('#friends').load("friendstest.php");
});
如果您需要更多信息,请告诉我。
答案 0 :(得分:0)
您可以将其分成多个调用,而不是在一次调用中加载整个好友列表:
upto = 0;
function loadMoreFriends() {
$('#friends').append("friendstest.php?limit=10&start="+upto);
upto += 10;
}
在此示例中,upto
记录已加载的朋友数量。 php将仅返回10
个朋友,并从页面upto
开始。
您可以在页面加载时调用此函数,然后在您希望将更多朋友加载到页面时(滚动到底部或类似)。
答案 1 :(得分:0)
这可能是因为sessión写锁定。
如果您发出请求并且需要很长时间,则会锁定用户会话文件以进行写入,因此在上一个请求发布文件之前,另一个请求无法打开它以进行写入,并且在结束时完成php脚本。
如果您的php脚本不会在会话中写入任何数据,您可以调用session_write_close()函数来释放锁(http://php.net/manual/en/function.session-write-close.php),以便启用其他请求来打开会话文件。
所以在你的friendstest.php开始时和session_start之后,你可以调用session_write_close()。