解决ajax只触发一次不更新缓存的问题

今天做一个小型的商城时发现,生成的静态页由于采用了用jQuery的AJAX从后台获取用户Session,调试的时候发现,获取Session的AJAX方法只触发一次,第一次到页面,触发(此时未登录),跳转到登录页登录后,再返回,或到其他页,都没有再触发AJAX。。。。。。

 

网上找了很久,才找到解决方法,原来是用GET 方式去获取后台数据时,如果是第一次触发,就回到后台获取,而非第一次的话,回读取之前读出的数据,而不会到后台去重新读取数据 。

解决方法:1、将Get方法该未Post方法。

    /*获取用户是否登陆及购物车等信息*/
            $(document).ready(function() {
                $.post("getInfo.ashx",
                {
                    type: "session",
                    proid: "all"
                },
                 function(data, textStatus) {
                     var allinfo = data.split("|");
                     if (allinfo[0] != "") {
                         $("#user_login_box").text("Welcome," + allinfo[0]);
                     };
                     if (allinfo[1] != "") {
                         $("#cart_totalcount").text(allinfo[1]);
                     };
                     if (allinfo[2] != "") {
                         $("#cart_totalmoney").text(allinfo[2]);
                     };
                 }
       );
            });

              2、如果你一定要用GET的的话 , 那就在你的提交参数最后面加个随机数,最常用的就是加上当前的时间 &a="+new Date().getTime() 

posted @ 2010-03-24 13:45  up-Henson  阅读(1466)  评论(1编辑  收藏  举报