我正在制作一个动态网页,可以非常频繁地从数据库中检索大量数据,至少每3秒钟一次。
我使用XAMPP在本地测试了我的网页和数据库。它完美地运作。但是,在我将所有内容上传到000webhost(我的免费帐户)后,它变得非常慢。在检索数据时,我的网页甚至冻结(我无法滚动页面,甚至无法执行任何操作,只能等待数据传输。)
我使用了一个setTimeout函数,该函数调用了几个ajax命令来从我的数据库中读取数据。我已经优化了数据容量,但页面仍然冻结。我还试图禁用大多数ajax命令,只留下一个。加载时,页面会像闪烁一样冻结,但无论如何它仍会冻结......
我的大多数ajax命令都是如下所示,它只是从我的数据库中检索数据并更新我网页上的相关字段。一些ajax命令使用$ .parseJSON()因为我需要表中的整行。
$.ajax({
type: "GET",
url: "get_balance.php",
data: {wherematch: localStorage.login_user},
dataType: "html", //expect html to be returned
async:false,
success: function(response){
document.getElementById('balance').innerHTML = response;
}
});
任何人都可以提供一些解决此问题的建议吗?我应该付钱并获得更好的账户吗?
感谢。
答案 0 :(得分:0)
每3秒刷一次ajax,你的javascript& ajax必须是这样的:
function get_data(){
$.ajax({
type: "GET",
url: "get_balance.php",
data: {wherematch: localStorage.login_user},
dataType: "html", //expect html to be returned
success: function(response){
document.getElementById('balance').innerHTML = response;
setTimeout(get_data(),3000);
}
});
}
get_data();
将setTimeout()
函数放在ajax中。我们不会将async
设置为false