我用jquery ui 弹出一个购物车的对话,通过AJAX加载的数据。发现购物车被缓存,一直看到是旧数据。为了刷新购物车更新,我必须去加一个刷新按钮,点击后更新购物车页面。有没有一种方法来自动刷新加载到对话框的内容?
我在加载使用下面的代码内容:
function loadCart() {
$('#dialog').load('...url to cart page...');
$('#dialog').dialog({
autoOpen: false,
width: 768,
bgiframe: true,
modal: true,
position: ['center',30]
});
$('#dialog').dialog('open');
}
最简单的方法是这样做:
$.ajaxSetup ({
cache: false //禁用缓存
});
如果你想更细粒度地控制特定的AJAX调用,你必须跳过使用load()方法,使AJAX调用标准的方式,指定缓存:false属性。
另一种选择是手动附加一个随机字符串到你load()方法的url后面,如http://www.cxyclub.cn/?timestamp=vnoe98295q232ei15t34kj,这将迫使浏览器每次都重新请求页面,不缓存页面Cache。我更喜欢第一种方法,显然是最简单的清空jquery弹出窗缓存Cache和刷新页面方法。