原帖:http://zjkilly.iteye.com/blog/738415
一、用法
jquery的load函数是请求另一个文件并加载到当前DOM里的调用,load方法的完整格式是:load( url, [data], [callback] )(注意没有参数是GET方式请求,有参数则是 POST方法)。
* url:是指要导入文件的地址。
* data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
* callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。
缓存这东西,在一定程度上加快了页面的装载,但是也常常给我们带来麻烦。我在上篇文章里简单介绍了jQuery中Load方法的使用。在实际运用中,我们可能会碰到浏览器缓存的问题。比如我就在IE7里碰到这个问题。
jQuery Load样本代码:
$(document).ready(function(){
$("#labels").load("/blog/categories/labels.html");
//在页面装载时,在ID为#labels的DOM元素里插入labels.html的内容。
});
当我更新了labels.html以后,在IE7里load方法仍旧在使用旧的labels.html,就算我按刷新键也不管用。好在jQuery提供一个防止ajax使用缓存的方法,把下面的语句加在head的javascript文件里,就可以解决问题。
$.ajaxSetup ({
cache: false //关闭AJAX相应的缓存
});
此外我再介绍几种方法解决缓存的方法。注意:我没有在jQuery load的问题上测试过,这些方法仅供参考!
1.更改文件名,比如把labels.html改成lables_new.html,但是这是没有办法的办法,一般没有人这么做。
2.在labels.html后加上特定时间,比如lables.html?20081116。在实际工作中,在我更新css/javascript文件后,我都是用这种办法来防止文件被缓存。
3.在labels.html文件的顶部加入以下声明:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
4.load函数不仅可以调用HTML,也可以调用script,比如labels.php,可以在php文件里使用header函数:
<?php
header("Cache-Control: no-cache, must-revalidate");
?>
另外两种解决方案:
在请求路径中添加一个时间参数值为当前的时间或者在表单中添加一个隐藏的字段将该字段的值设置为当前时间。
分享到:
相关推荐
一、用法 jquery的load函数是请求另一个文件并加载到当前DOM里的调用,load方法的完整格式是:load( url, [data], [callback] )(注意没有参数是GET方式请求,有参数则是 POST方法)。 * url:是指要导入文件的地址。...
在本例中,我们使用jQuery的load()方法来实现Ajax请求。load()函数通常用于动态加载HTML内容到指定的DOM元素中。在这个场景下,我们通过点击“登陆”按钮触发Ajax请求: ```javascript $("#denglu").click(function...
6. **优化性能**:为了提高效率,可以添加一些额外的优化,如缓存已加载的数据,防止重复加载,或者使用懒加载,只有当内容进入视口时才加载。 通过这种方式,我们能够实现一个快速且高效的异步分页系统,避免一次...
**防止jQuery使用缓存:** 默认情况下,jQuery的AJAX请求包括`load`方法,可能会被浏览器缓存,导致无法获取最新的数据。可以通过设置全局的`ajaxSetup`来关闭缓存: ```javascript $.ajaxSetup({ cache: false }); ...
`jquery.loadtemplate` 是一个基于 jQuery 的插件,专门用于加载和使用模板,使得在Web应用中动态渲染内容变得更加便捷。这个压缩包文件“frontend-project-jquery.loadtemplate.zip”包含了一个名为“jquery-...
当使用JQuery的load方法请求服务器上的文件时,如果文件内容已经存在IE的缓存中,并且服务器没有通过HTTP响应头明确告诉浏览器需要重新获取文件,那么IE浏览器会从缓存中读取这个文件,而不是向服务器发送新的请求。...
为了优化图片加载,开发人员经常使用jQuery插件来实现图片缓存功能。这样,图片可以在用户首次访问网站时预加载或在后台加载,从而提高后续访问的速度。本文将探讨10款优秀的jQuery图片缓存插件和脚本,以提升网页...
`Math.random()`用于生成一个随机值,防止浏览器缓存响应,`$("#username").val()`获取当前文本框中的用户名。请求完成后,回调函数会接收到服务器返回的数据,并通过`alert()`显示。 load()方法的GET方式提交数据...
jQuery 中 AJAX 常用的方法总结 jQuery 是一个功能强大且流行的 JavaScript 库,它提供了许多有用的方法来处理 AJAX 请求。AJAX(Asynchronous JavaScript and XML)是一种创建交互式网页的技术,它允许网页从...
8. **效率优化**:在使用jQuery时,应注意性能优化,如减少DOM操作次数,使用高效的selector,避免使用全局变量,以及利用缓存机制提高性能。 9. **兼容性**:jQuery 1.4.1版本对当时的主流浏览器(如IE6/7/8、Fire...
.load方法没有设置 cache参数 默认true ,特别在IE浏览器下,一般的ajax的方法都是cache等于true的! 解决办法几个: 1....修改jquery.js中,load方法,load方法也是调用的.ajax,增加cache:false 3.在你请求的链接
减少DOM操作次数,使用`$(document).on()`替代直接绑定事件,以及利用缓存机制(如`var $el = $("#element");`)都能提高效率。 9. **兼容性与版本选择** 考虑到老版本浏览器的支持,选择合适的jQuery版本很重要。...
对于需要更复杂配置的Ajax交互,或者需要对请求和响应进行更细致的处理时,则应使用jQuery.ajax()方法。此外,在使用jQuery Ajax时,也应考虑不同浏览器对于Ajax请求的支持情况,尤其是在处理跨域请求时。
此外,在某些情况下,浏览器可能会忽略`cache: false`的设置,特别是在通过链接触发Ajax请求时(例如,使用`$.load()`方法加载内容)。这时,可以考虑使用其他技巧来避免缓存,如在请求的URL中添加一个随机数或...
4. **使用CDN**:使用公共的CDN(内容分发网络)服务加载jQuery,这样浏览器可以从缓存中获取,减少服务器压力,同时减少重复加载的可能性。 5. **控制加载顺序**:在HTML中调整脚本引用的顺序,确保依赖关系正确。...