项目里使用jQuery 1.1.3.1版本,遇到的问题是jQuery缓存ajax请求的数据,在jsp和servlet里设置了参数,但还是被jQuery缓存。
java 代码
- response.setHeader("Cache-Control","no-store");
- response.setHeader("Pragma","no-cache");
- response.setDateHeader("Expires", 0);
html 代码
- <meta http-equiv="Cache-Control" content="no-store"/>
- <meta http-equiv="Pragma" content="no-cache"/>
- <meta http-equiv="Expires" content="0"/>
使用上面的参数,也不是完全起作用。
在jquery.com看到其1.2版本的ajax方法添加了cache选项,可以解决缓存问题。
js 代码
- $.ajax({
- url: "test.html",
- cache: false,
- success: function(html){
- $("#results").append(html);
- }
- });
试用后感觉不错。就准备用1.2版本替换现在的1.1.3,但是发现项目中基于jquery的plugin很多都还是基于jquery 1.1版本,而且到现在还没有放出支持1.2的新版本。自己试着替换了一下,果然出错了。即使用了jQuery 1.1 Compatibility Plugin也不是所有插件都好用。 只好放弃使用1.2的念头。随即开始翻看1.2的代码,发现其ajax cache选项解决缓存的方法非常简单,摘录如下
js 代码
- if ( s.cache === false && s.type.toLowerCase() == "get" )
- s.data = (s.data ? s.data + "&" : "") + "_=" + (new Date()).getTime();
太好了,我只要同样也在jquery 1.1版本的ajax方法的data上也加个时间戳就行了。使用如下方式解决问题
js 代码
- $.ajax({ url: url,
- type:"get",
- dataType:"html",
- data: "_=" + (new Date()).getTime(),
- success:function(html){...}
- });
分享到:
相关推荐
### 服务器端判断Ajax请求 在现代Web开发中,异步JavaScript与XML(Ajax)技术被广泛用于构建响应迅速、动态交互的应用程序。Ajax通过在后台与服务器进行数据交换,无需重新加载整个页面即可更新部分网页内容。因此...
在ASP页面中,服务器端需要处理Ajax请求并返回相应格式的数据。示例代码如下: ```asp response.Expires = -1 response.CacheControl = "no-cache" %> <!--#includefile="../../conn/conn.asp"--> <!--#include...
2. 使用 jQuery Ajax 清除浏览器缓存:可以使用 $.ajax() 方法并设置 cache:false,或者使用 If-Modified-Since 和 Cache-Control 请求头来清除浏览器缓存。 3. 使用随机数或随机时间来避免缓存:可以在 URL 参数后...
9. **错误处理和日志记录**:良好的错误处理和日志记录能帮助开发者定位和解决问题。源代码中可能包含自定义的错误页面和日志记录机制,如使用log4net或NLog。 10. **部署和配置**:部署ASP.NET应用涉及IIS服务器的...
最后,在JSP页面中,我们可以使用jQuery的`$.get`方法发起AJAX请求,获取并处理服务器返回的XML数据: ```javascript $.get('controller?method=isEmptyOfCategory',{id: id, ajax: 'true'},function(response) { ...
5. **Ajax**与**jQuery**:为了提供更好的用户体验,SpaceBuilder可能使用了Ajax技术进行局部页面更新,而jQuery库则简化了JavaScript操作,实现了高效的DOM操作和动画效果。 6. **多语言支持**:社区软件通常需要...
通过在Ajax请求的URL后附加一个随机生成的参数,可以确保每次请求的URL都是独一无二的。例如,使用JavaScript的Math.random()方法生成一个随机数附加在请求地址后。由于每次请求的URL不同,浏览器会将该请求视为一个...
7. **AJAX与jQuery**:在现代Web应用中,异步交互至关重要。查看源码中的JavaScript部分,学习如何结合ASP.NET和jQuery实现无刷新的用户体验。 8. **SEO优化**:一个好的社区系统需要考虑搜索引擎友好性,了解如何...
当Ajax请求完成时,会返回一个`xhr`对象(XMLHttpRequest),其中包含了服务器返回的所有头信息。你可以通过以下两种方法获取: #### 2.1 使用`getResponseHeader(key)` 这个方法用于获取指定的头信息。例如: ```...
3. **Ajax请求更新缓存** 使用Ajax(异步JavaScript和XML)可以检查服务器上的文件是否已更新。通过设置`If-Modified-Since`和`Cache-Control`请求头,可以强制浏览器只在服务器文件更新时才获取新数据。 ```...
##### 1.3 AJAX请求 ```javascript this.sendAjaxRequest = function (url, type, data) { $.ajax({ url: url, type: type, data: data, dataType: "json", success: function (data) { alert(data.message)...
此外,对于使用Struts2的Ajax主题或Calendar标签的项目,建议从Struts2的jar包中复制静态内容到项目的`/WEB-INF/classes`目录下,避免每次请求都从jar包中加载资源。 ### 四、模板引擎优化与资源压缩 FreeMarker是...
202、用jdom解析xml文件时如何解决中文问题?如何解析? 48 203、编程用JAVA解析XML的方式. 49 204、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 51 205、EJB与JAVA BEAN的区别? 51 206、EJB的基本...
- **离线存储**:通过 Application Cache (AppCache) 提供了离线访问网页的能力。 - **表单控件增强**:新增了日期选择器、滑块等输入类型,简化了数据验证。 - **拖放功能**:`drag` 和 `drop` 事件使得文件或数据...
AJAX (Asynchronous JavaScript and XML) Selector Priority Specificity Box Model W3C HTML CSS XHTML XML HTML (HyperText ...
Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...
Smart Cache 是一个采用 Java 开发的 HTTP/1.1代理服务器,也可以用来作为Web的缓存系统。 高性能的JSON处理 Jackson Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。 哈希计算工具 java-hash ...