我有一个项目,需要一种始终在屏幕顶部提供的购物车。每当有人将鼠标悬停在“购物车”图标上时,就会显示内部所有内容的列表 但是,如果用户打开了我的网站的两个标签,并且其中一个标签已添加到购物车中,则另一个标签将过时并需要刷新。
我的问题是:如果我使用AJAX不断更新项目列表(这将需要会话和数据库检查),它是否会在服务器(甚至是浏览器)上足够大,因为它是一个问题,还是这种常见做法?如果这是一个问题,我可以采取哪些其他方式,以便用户打开的每个标签始终更新?
如果有人能告诉我这条道路,那么我可以更多地了解它,即使是我应该注意的名字,我也会非常感激。感谢。
答案 0 :(得分:5)
浏览器没有负载,服务器中只有一个请求......也许这些请求没用,
另一种方式是名称server push
如果您的请求数量超过您的服务器功率使用这种方式,但如果您的请求很少而且不重要,则可以经常使用服务器提取
答案 1 :(得分:2)
Ajax就是这里的解决方案 - 它的占用空间非常小..只要你不加区分地使用它,它与重新加载页面几乎相同(如果正确完成它作为一个较小的文档服务则更少) )。实际上,研究表明,ajax可以将服务器带宽使用率降低60%以上。
您可以专门阅读速度问题here。
我在Tizag学习了Ajax,他们有一个辉煌的Tutorial。
希望这有助于:)
答案 2 :(得分:1)
您可以在一个时间间隔内进行ajax调用,以使用最新数据加载div。像这样的东西
(function getLatestCart(){
setTimeout(function(){
$("#latestCart").load("getCartDetails.php", getLatestCart);
}, 10000);
})();
这将每隔10秒调用一次该方法(您可以更改时间间隔)并将最新购物车加载到ID为latestCart
的div。
答案 3 :(得分:0)
您可以在本地跟踪此更改。
将UserData(IE7及更低版本)或domStorage与更新数据一起使用,如果数据已更改,则每10-20秒检查一次。