首页 > 代码库 > 记用ajax的一个bug

记用ajax的一个bug

 遇到一个bug,IE8,只有第一次功能正确,后面都不生效。我看了一下,确实IE存在问题,调试发现根本不进入后台,于是我猜测是缓存的问题,于是加上cache:false,解决了问题。

   $.ajax(        {            url: "ParaSetting/OpenOrCloseParam",            data: {                Id: id            },            cache:false,            type: "get",            success: function (data) {                alert(data);                if (data =http://www.mamicode.com/=="操作失败") {                    layer.alert("操作失败");                }                else {                    window.location.reload();                }            },            error: function (e) {                alert(e);            }        });
后来新同学百度一下,发现jquery中 cache: true和false的区别如下:

true的话会读缓存,可能真的到服务器上。
假如上次访问了a.html,第二次的时候得到的是上次访问的a.html的结果,而不是重新到服务器获取。
false的话会在url后面加一个时间缀,让它跑到服务器获取结果。
cache只有GET方式的时候有效。

记用ajax的一个bug