当我使用$.AjaxPost加载更多数据时,缓存无法处理JS文件


Cache is not working over JS files when I use $.Ajax-Post to load more data

我已经设置好将Cache与JS文件一起使用,它确实有效,但问题是。。。

我在div标记上有一个.click((事件,它触发了一个$.AAJAX方法,让我从DB中获得更多信息/数据。

当信息被检索时,我在控制台(网络活动(中看到我的所有JS文件都被再次请求,并且缓存没有被使用。。。

步骤:

1( 我进入主页(main.php(,JQUERY.MIN.JS(来自api.google…(从缓存中检索。。。

2( 我点击div,从更多信息中获取更多信息。php

3( 更多信息.php返回带有dataTable插件的html代码(http://www.datatables.net/)

4( 表格显示在主页上。。。

在控制台中,我可以完美地看到JQUERY.MIN.JS文件正在使用_=时间戳

Ex: http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js?_=1361806746980

morinformation.php具有<scripts>到jquery.min.js和dataTables.js…

我希望你能帮助我!

谢谢!!

将我的评论转化为答案,因为这似乎是您想要的解决方案。

最好的解决方案是更改服务器,只返回您实际需要的数据,而不是包含jQuery的整个HTML页面。这样检索起来也更快。

基于上面的内容(目前还不完全清楚您在哪里缓存(,但下面的内容可能是您出现问题的原因。

Jquery Ajax方法有一个缓存参数。

cache(默认值:true,对于dataType"script"answers"jsonp"为false(类型:布尔如果设置为false,它将强制浏览器不缓存请求的页面。注意:将缓存设置为false只能正常工作具有HEAD和GET请求。它的工作原理是将"_={timestamp}"附加到GET参数。其他类型的请求,IE8中对已经已由GET请求。

发送请求时,请尝试将此设置为false。

http://api.jquery.com/jQuery.ajax/

它这样做是为了覆盖内置缓存中的浏览器,以阻止AJAX结果返回旧的缓存值。