解决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()