在IE7中,jquery是否需要GET调用的时间戳?
请参阅下面的jQuery代码,它用于对一些搜索结果进行分页在IE7中,jquery是否需要GET调用的时间戳?,jquery,ajax,caching,internet-explorer,internet-explorer-7,Jquery,Ajax,Caching,Internet Explorer,Internet Explorer 7,请参阅下面的jQuery代码,它用于对一些搜索结果进行分页 paginate: function() { $("#wishlistPage .results").html("<div id='snakeSpinner'><img src='"+BASE_URL+"images/snake.gif' title='Loading' alt='...'/></div>"); var url = BASE_URL+"wishlist/
paginate: function() {
$("#wishlistPage .results").html("<div id='snakeSpinner'><img src='"+BASE_URL+"images/snake.gif' title='Loading' alt='...'/></div>");
var url = BASE_URL+"wishlist/wishlist_paginated/";
$.ajax({
type: "GET",
url: url,
data: {
sort_by:$('#componentSortOrder input:hidden').val(),
offset:My.WishList.offset,
per_page: 10,
timestamp: new Date().getTime()
},
success: function(transport){
$("#wishlistPage .results").html(transport);
}
});
},
paginate:function(){
$(“#wishlistPage.results”).html(“”);
var url=BASE_url+“wishlist/wishlist_paginated/”;
$.ajax({
键入:“获取”,
url:url,
数据:{
排序依据:$(“#组件排序器输入:隐藏”).val(),
偏移量:My.WishList.offset,
每页:10,
时间戳:新日期().getTime()
},
成功:功能(运输){
$(“#wishlistPage.results”).html(传输);
}
});
},
我的问题不是分页,问题是当页面的其他部分发生了某些事情,删除了一些搜索结果时,我需要调用相同的函数,它在IE7中带来了旧的结果,其他浏览器工作正常。因此添加了时间戳:new Date().getTime()部分。这解决了IE的问题
我想知道为什么在jQuery中会发生这种情况?我是否需要在URL中包含时间戳参数以避免在所有jQuery Ajax调用中缓存?简而言之,是。IE通常不遵守缓存规则,但jQuery也可以为您自动添加此参数,只需如下使用:
$.ajax({
type: "GET",
url: url,
cache: false,
data: {
sort_by:$('#componentSortOrder input:hidden').val(),
offset:My.WishList.offset,
per_page: 10,
timestamp: new Date().getTime()
},
success: function(transport){
$("#wishlistPage .results").html(transport);
}
});
结果是一样的,它为URL添加了一个时间戳。这是一个理想的答案,干杯!