Spring Internet Explorer忽略缓存?(AJAX调用和数据表)
我已经寻找了几个星期的解决方案,但没有结果 我的web应用程序使用Spring/Hibernate。当我调用AJAX为我的表检索数据(使用Datatables)时,一切都很好。然而,当我点击一个链接,然后点击返回返回表格时,IE和Firefox的行为似乎有所不同: FIREFOX:Spring Internet Explorer忽略缓存?(AJAX调用和数据表),spring,jsp,datatables,Spring,Jsp,Datatables,我已经寻找了几个星期的解决方案,但没有结果 我的web应用程序使用Spring/Hibernate。当我调用AJAX为我的表检索数据(使用Datatables)时,一切都很好。然而,当我点击一个链接,然后点击返回返回表格时,IE和Firefox的行为似乎有所不同: FIREFOX: 显示表格页面(AJAX调用) 点击链接进入新页面 单击〖上一步〗按钮,返回表格页面 调用数据库DAO不以重新显示数据 INTERNET EXPLORER: 显示表格页面(AJAX调用) 点击链接进入新页面 单击
- 显示表格页面(AJAX调用)李>
- 点击链接进入新页面李>
- 单击〖上一步〗按钮,返回表格页面李>
- 调用数据库DAO不以重新显示数据
- 显示表格页面(AJAX调用)李>
- 点击链接进入新页面李>
- 单击〖上一步〗按钮,返回表格页面李>
- 调用数据库DAO以重新显示数据
$('#tableWithData').DataTable( {
serverSide : false,
ajax: {
"url": "/app/search/rowData",
"data": function ( d ) {
d.searchDeptlCntnrNo = $('#criteriaDeptlCntnrNo').val();
d.searchCntlNoCd = $('#criteriaCntlNoCd').val();
d.searchExactMatch = $('#criteriaExactMatch').val();
d.searchCntlNoCmpnt1 = $('#criteriaCntlNoCmpnt1').val();
d.searchCntlNoCmpnt2 = $('#criteriaCntlNoCmpnt2').val();
d.searchCntlNoCmpnt3 = $('#criteriaCntlNoCmpnt3').val();
d.searchCntlNoCmpnt4 = $('#criteriaCntlNoCmpnt4').val();
d.searchRangeField = $('#criteriaRangeField').val();
d.searchCntlNoCmpntQty = $('#criteriaCntlNoCmpntQty').val();
d.searchCntlNoCmpntRng = $('#criteriaCntlNoCmpntRng').val();
}},
stateSave: true,
pagingType: "full_numbers",
deferRender: true,
scrollY: 400,
scrollCollapse: true,
scroller: true,
lengthChange: false,
"columns": columns,
language: {
"loadingRecords": loading data..."},
fnInitComplete: function(oSettings, json) {
$("#loading-div-background").hide();
},
language :{
"emptyTable": "Your query returned 0 results."
}
} );
编辑:
这将是一个BFCache问题,因为我使用JQuery,并且它有一个嵌入的onload事件,所以Internet Explorer无法检索缓存 对于有同样问题的人,我发现: 这是jQuery和Internet Explorer的IE问题: jQuery自动将卸载事件附加到窗口,因此 不幸的是,使用jQuery将取消您的页面在>bfcache中存储的资格,以便保存DOM和快速返回/转发
看来我被这件事缠住了。现在,当用户单击链接时,我会打开一个新窗口,但在我看来,这是一个糟糕的设计。对于有相同问题的人,我发现: 这是jQuery和Internet Explorer的IE问题: jQuery自动将卸载事件附加到窗口,因此 不幸的是,使用jQuery将取消您的页面在>bfcache中存储的资格,以便保存DOM和快速返回/转发
看来我被这件事缠住了。现在,当用户单击链接时,我将打开一个新窗口,但在我看来,这是一个糟糕的设计。很奇怪,为什么在不希望调用此url的情况下使用url?“url”包含获取数据的函数。在FIREFOX中,如果我离开,然后回来,就不会调用“url”。在IE中,url每次都被调用。我发现了一个类似于我的问题,但没有明确的答案:很奇怪为什么你使用url,而你不想调用此url?“url”包含获取数据的函数。在FIREFOX中,如果我离开,然后回来,就不会调用“url”。在IE中,每次都会调用url。我发现了一个与我类似的问题,但没有明确的答案: