记用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 === "操作失败") { layer.alert("操作失败"); } else { window.location.reload(); } }, error: function (e) { alert(e); } });
后来新同学百度一下,发现jquery中 cache: true和false的区别如下:
true的话会读缓存,可能真的到服务器上。
假如上次访问了a.html,第二次的时候得到的是上次访问的a.html的结果,而不是重新到服务器获取。
false的话会在url后面加一个时间缀,让它跑到服务器获取结果。
cache只有GET方式的时候有效。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。