Ajax请求被缓存的几种处理方式】的更多相关文章

Ajax请求被缓存的几种处理方式 我们都知道IE会针对ajax请求的地址缓存请求结果,直到缓存过期之前,针对相同地址发出的请求,只有第一次会请求会真正发送到服务端.在某种情况下,这种缓存机制确实能提高web的响应速度,但是有时候并不是我们需要的,有时候我们需要获取即时信息,那么有哪几种方式来解决这个问题呢,下面列举了几种解决方案! 1.  通过URL添加后缀的方式 这种方式是我们大家都会使用的技巧,大多人都知道 例如: 本来请求的地址是: /home/action? 加查询参数后缀后:/home…
IE浏览器下使用GET发送请求时,如果两次请求的地址和参数相同,在不刷新页面的情况下,浏览器会缓存第一次的请求的内容,服务端更新后浏览器仍然显示第一次的内容 如在当前页面用户登录,在未登录的情况下,服务器返回的用户信息为空,点击登录后发起请求返回的用户信息仍然是为空,这是因为浏览器会对GET请求做缓存处理.解决办法: 1.GET请求URL后加随机数,让服务器认为不是相同的请求.也可以传一个随机的参数 eg:http://dev.example.com/Example/GetFormation?t…
Jquery发送ajax请求以及datatype参数为text/JSON方式 1.方式一:datatype:'text' 2.方式二:datatype:'JSON' 3.使用gson-1.5.jar包和json-2.2.jar包处理JSON代码 (注: 使用json-2.2.jar包时,传给前端的结果,获取时不是json对象,需要var json = eval_r("("+data+")");转义一下. 而使用gson-1.5.jar包时,传给前端的结果就是json…
在进行前后端交互的时候,一般前端使用ajax向后端发送数据,后端根据发送的数据来返回数据,前端将这些数据接收并进行相应的处理 以下是在日常工作中总结的几点使用ajax传递数据时的情况: 1.在本页面(可以理解为A页面)中直接使用ajax请求,不需要传递任何参数,在success中可以直接获取到后端的数据 2.在A页面中直接使用ajax获取到数据,在另一个B页面中需要用到A页面的数据,分为两种情况: a. A页面跳转到B页面是通过a标签来跳转的,那么可以在A页面的a标签里面做文章,将a标签中的hr…
第一种方法:打开一个项目,这里我打开的Mail项目,然后点击Myeclipse菜单栏中的project-选择clean: 选择要clean的项目,确定即可不用进入tomcat服务器直接清理缓存. 上面的方式虽然简便,不过使用起来,还是不能够彻底的清理tomcat缓存. 第二种方法: 1.进入tomcat的安装目录进行清理缓存,这里我使用的tomcat6.0,使用的tomcat是免安装的,解压缩后直接使用,建议大家也用这个版本,而非安装版本,如果你使用的是安装版,方法与解压版完全一样. 2.然后点…
如上图所示,在ie浏览器下发出的请求,如何缓存中已经出现过这条请求记录,则不会请求服务端数据,解决方法是在请求后增加一个随机数,使每次请求都不同*可以添加当前时间戳 url+'?t='+Date.now(), 请求如下…
使用jquery里load方法或者ajax调用页面的时候会存在cache的问题,清除cache的方法: 调用jQuery.ajaxSetup ({cache:false}) 方法即可.…
最近好啰嗦 最近在一间小公司实习,写一些小东西.小公司嘛,人们都说在小公司要什么都写的.果真是. 前端,后台,无论是HTML,CSS,JavaScript还是XML,Java,都要自己全包了.还好前台的要求不高.写一些芝麻豆腐的东西还是不在话下的.但是整个项目下来估计还不止这些要写.而且我的经验当中,都没怎么关心过前端的东西,一直认为这是和我无关的东西,这次估计要悲剧了.所以找了一本书来看--<Ajax实战>.临时抱佛脚,临阵磨枪,也不能说是完全没有用处的.相比没怎么写过Java的人,我还是觉…
1.将字符串转码:new String("xxxxx".getBytes("iso-8859-1"),"utf-8")         这种转码方式有很大的弊端,因为它是使用指定的字符集将此String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中,然后通过使用指定的字符编码将生成的byte 数组解码,构造一个新的String字符串.这种情况就有可能遇到的情况是,不能将一个汉字全部解码完.这样,前边的都能正常显示,但是最后一个…
我个人开发常用的如下所示: 之所以像下面这样下,一是前台Ajax,二是为安卓提供接口数据 现在常用的是返回JSON数据,XML的时代一去不复返 JSON相对于XML要轻量级的多 对JSON不是十分熟悉的可参考此网站:http://www.w3school.com.cn/json/index.asp 对Ajax不是十分熟悉的可参考此网站:http://www.w3school.com.cn/ajax/index.asp 下面例子环境为:JDK8+tomcat7+MAVEN+WINDOWS环境 框架…
1.vue-resouce实现ajax请求 vue1中主要用vue-resouce实现ajax请求, 2.1 引用vue-resouce 引入axios,直接在index.html文件中引入; 或者在main.js文件中引入vue-resouce.js,并use  vue-resouce; 2.1 使用vue-resouce 三种ajax请求的方式 2.axios实现ajax请求 2.1 引用axios vue2.0版本已不推荐使用vue-resouce发送ajax请求,推荐使用axios发送请…
1.jquery方式 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>ajax加载loading图标</title></head><body> <form id="test-form" action="test.php" method=&q…
在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的时候总是使用IE缓存,为了解决这个问题一般可以用一下方法:1:在ajax或者dwr提交的url后面加时间戳.例如http_request.onreadystatechange = funcName(函数名);http_request.open("GET", url, true);比如url…
项目:jquery-ajax-cache 地址:https://github.com/WQTeam/jquery-ajax-cache     最近在项目中用到了本地缓存localStorage做数据的缓存. 1.简单说下localStorage localStorage和cookies相比,在浏览器中存储的容量更大.另外最大的特点是不会附带在http请求中传给后台,不会像cookies一样导致http头部变大影响传输性能.基于这个原因,localStorage适合缓存一些常用的数据,无需平凡的…
在默认情况下,IE会针对请求地址缓存Ajax请求的结果.换句话说,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端.在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据),这篇文章就来简单地讨论这个问题,以及介绍几种解决方案. 详见:http://www.cnblogs.com/artech/archive/2013/01/03/cache-4-ie.html…
C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ OutputCache Duration="100" VaryByParam="none" %> Duration:缓存时间(秒为单位),必填属性 2.使用微软自带的类库System.Web.Caching 新手接触的话不建议直接使用微软提供的类库,因为这样对理解不够深刻…
1.在服务端加 header(“Cache-Control: no-cache, must-revalidate”);2.在ajax发送请求前加上 anyAjaxObj.setRequestHeader(“If-Modified-Since”,”0″);3.在ajax发送请求前加上 anyAjaxObj.setRequestHeader(“Cache-Control”,”no-cache”);4.在 Ajax 的 URL 参数后加上 “?fresh=” + Math.random(); //当然…
在IE浏览器中通过Ajax请求后台的数据,如果Page请求是postback类型的,可能会导致Ajax请求失败的问题 我们都知道ajax能提高页面载入的速度主要的原因是通过ajax减少了重复数据的载入,也就是说在载入数据的同时将数据缓存到内存中,一旦数据被加载其中,只要我们没有刷新页面,这些数据就会一直被缓存在内存中,当我们提交 的URL与历史的URL一致时,就不需要提交给服务器,也就是不需要从服务器上面去获取数据,虽然这样降低了服务器的负载提高了用户的体验,但是我们不能获取最新的数据,特别是那…
在<Pragmatic Ajax A Web 2.0 Primer >中偶然看到对readyStae状态的介绍,感觉这个介绍很实在,摘译如下: 0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loading) the send( ) method has been invoked, request in progress. 2: (Loaded) the send( ) method has complet…
var app = angular.module('manager', ['ngRoute']); app.config(['$routeProvider', function($routeProvider) { $routeProvider .when("/index", { templateUrl: "/Templates/index.html", controller: IndexCtrl }) .when("/search", { tem…
http://www.cnblogs.com/lys_013/archive/2013/08/07/3243435.html 今天在做ajax页面无刷新请求后台服务器数据的时候,IE下遭遇Ajax缓存,FF和Chrome均正常,因为刚开始并不知道IE有这个坏毛病,折腾好久,终于解决问题. 在默认情况下,IE会针对请求地址缓存Ajax请求的结果.换句话说,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端.在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时…
我今天在改项目bug的时候,发现ajax请求在ie8下有缓存,在缓存过期之前,针对相同地址发起的多个Ajax请求,只有第一次会真正发送到服务端.在某些情况下,这种默认的缓存机制并不是我们希望的(比如获取实时数据). 而FF和Chrome下不会出现这种情况. 为了不受缓存影响,解决方法: 一.改变IE访问策略 Internet选项--浏览历史记录--设置-- Internet 临时文件的选项改为每次访问网页时也可以 二.通过为URL地址添加后缀 在AJAX请求的页面后加个随机函数,例如我们可以使用…
开局声明:这是基于nohttp1.0.4-include-source.jar版本写的教程 由于nohttp功能强悍,因此需要多种权限,仅仅一个联网的权限是不够的,如果只给了Internet的权限,去请求网络将还会报错: onFailed: com.yolanda.nohttp.error.NetworkError: The network is not available, please check the network. The requested url is: http://www.s…
在jquery中,提供了集中方法来进行ajax操作 一.$.get(url,[data],[callback]) 向服务器发起get操作. 说明:url为请求地址,data为请求数据的列表(json对象),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数. 二.$.getJSON(url,[data],[callback]) 向服务器发起get操作. 说明,对于get或getJSON方法,对服务器的返回数据格式要求有区别.…
Ajax的get和post两种请求方式区别 (摘录):http://ip-10000.blog.sohu.com/114437748.html 解get和post的区别. 1. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址.用户看不到这个过程. 2. 对于get方式,服务器端用Request.…
1.meta方法   HTML header中加入 <meta http-equiv="pragma" content="no-cache"> 说明:禁止浏览器从本地计算机的缓存中访问页面内容.上述设定,访问者将无法脱机浏览. <meta http-equiv="Cache-Control" content="no-cache,must-revalidate"> 说明:Cache-Control指定请求…
用fiddler调试http请求,在ie浏览器下,如果请求命中缓存,fiddler不会包含该请求.但是在chrome下会包含缓存的请求,Result显示为304. ie浏览器还会缓存通过ajax请求的数据,导致后续ajax的请求数据不能更新.实际上是只缓存get方式的请求,post方法因为每次的数据不一样,所以不会被缓存. 解解方法: 客户端: $.get(url,{ "r": new Date().getTime() }, function(res){ //每次的请求不一样,浏览器就…
一.传json单值或对象 1.前端 var data = {'id':id,'name':name}; $.ajax({ type:"POST", url:"user/saveUser", dataType:"json", //contentType:"application/json", //不能添加这个头 data:data, //这里不能进行JSON.stringify,发送请求的数据在:form data succes…
一.问题描述: 使用ajax请求json数据的时候,无论如何返回的响应编码都是ISO-8859-1类型,因为统一都是utf-8编码,导致出现返回结果中文乱码情况. $.ajax({ type:"post", url:"http://...", data:JSON.stringify(data), dataType:"json", contentType:"application/json;charset=utf-8", suc…
IE10浏览器会把AJAX请求的数据都缓存下来,然后每次想去刷新数据时发现数据都是一样的,于是导致数据显示异常. 解决方法: 在页面<head>标签里,加上以下声明: <!-- 解决ie浏览器缓存代码start --> <meta HTTP-EQUIV="pragma" CONTENT="no-cache"> <meta HTTP-EQUIV="Cache-Control" CONTENT="n…