ie发送ajax请求返回上一次结果的解决方法

 这篇文章主要介绍了ie发送ajax请求返回上一次结果的解决方法,需要的朋友可以参考下

问题出现原因: 
 
1. ie下面只会建立一次 ajax 请求,将响应结果放在浏览器缓存里 下次调用该ajax请求时 从缓存里读取 
 
get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端,而post方式因为参数的不同,不会产生这个问题 
 
2. 火狐下面 每次激活事件 都会重新建立一次ajax请求 
 
解决方法: 
 
1: 在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数 
 
在javascript发送的URL后加上t=Math.random() 
 
例如这样:URL+"&"+"t="+Math.random();或者new Date(); 在 URL 参数后加上 "?timestamp=" + new Date().getTime(); 
 
2. 
代码如下:
$.ajax({ 
 
type: "POST", 
 
async:false, // 设置同步方式 
 
cache:false,//缓存 
 
url: url, 
 
data:data, 
 
success:function(data){ 
//成功返回值后的操作 
 

 
}); 
 
解决方式就是 cache:false 
 

时间: 2024-08-03 18:05:23

ie发送ajax请求返回上一次结果的解决方法的相关文章

ie发送ajax请求返回上一次结果的解决方法_AJAX相关

问题出现原因: 1. ie下面只会建立一次 ajax 请求,将响应结果放在浏览器缓存里 下次调用该ajax请求时 从缓存里读取 get方式时,获取数据,因发送参数和地址都一致,故IE浏览器会从缓存中取,而不会去请求服务器端,而post方式因为参数的不同,不会产生这个问题 2. 火狐下面 每次激活事件 都会重新建立一次ajax请求 解决方法: 1: 在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数 在javascript发送的URL后加上t=Math.random() 例如这样:URL

jQuery.form Ajax无刷新上传报错的解决方法

今天在用ajaxfileupload时firebug报了一个"jQuery.handleError is not a function"的错误.因为在以前使用jQuery.form一直都没有出现过这个问题,我对比以前的项目才发现,在这个项目中使用的jQuery是1.10.2的版本,而以前是使用的1.4.2.度娘一番之后,找到解决办法:jQuery.handleError is not a function 报错原因是: handlerError只在jquery-1.4.2之前的版本中存

防止重复发送Ajax请求的解决方案_AJAX相关

在页面中有多个按钮,点击该按钮可以异步的去服务端读取数据,然后在前端将数据展示出来. 每个按钮点击请求的页面都是同一个,但是请求的参数不同,所以返回的内容就不同. 在连续点击多个按钮的时候就会发出多个异步请求.那么根据请求返回的快慢(因为不同按钮参数不同,返回内容不同,所以会有快慢之分),数据会依次的展示出来,那么就会出现一个先点击的按钮,由于他请求的数据量比较大,导致数据被后显示出来. 一.问题解决 解决这种问题有两种方式: 1.当连续进行多个请求,并且请求的url地址相同时.放弃前面的所有请

防止重复发送Ajax请求的解决方案

在页面中有多个按钮,点击该按钮可以异步的去服务端读取数据,然后在前端将数据展示出来. 每个按钮点击请求的页面都是同一个,但是请求的参数不同,所以返回的内容就不同. 在连续点击多个按钮的时候就会发出多个异步请求.那么根据请求返回的快慢(因为不同按钮参数不同,返回内容不同,所以会有快慢之分),数据会依次的展示出来,那么就会出现一个先点击的按钮,由于他请求的数据量比较大,导致数据被后显示出来. 一.问题解决 解决这种问题有两种方式: 1.当连续进行多个请求,并且请求的url地址相同时.放弃前面的所有请

如何实现ajax延时发送在空闲之后去发送ajax请求_AJAX相关

很多时候,我们都会遇到例如关键字搜索的功能 我们第一的想法,肯定是绑定响应的keyup事件,然后将得到的keyword,请求一个ajax返回响应的数据处理 但是,这个时候,如果简单绑定keyup事件.那么,每一次的敲击键盘操作都会发送一个ajax请求,这显然不是我们希望的. 我们希望,尽量在空闲之后去发送ajax请求: 因此,我们设定用户在不敲击键盘之后1S,才去发送这个ajax请求 复制代码 代码如下: var timeout; onkeyup = function() { clearTime

Javascript发送AJAX请求实例代码_javascript技巧

一个对AJAX的封装 //url就是请求的地址 //successFunc就是一个请求返回成功之后的一个function,有一个参数,参数就是服务器返回的报文体 function ajax(url,successFunc) { var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); xhr.open("POST",url,true); xhr.onr

如何实现ajax延时发送在空闲之后去发送ajax请求

很多时候,我们都会遇到例如关键字搜索的功能 我们第一的想法,肯定是绑定响应的keyup事件,然后将得到的keyword,请求一个ajax返回响应的数据处理 但是,这个时候,如果简单绑定keyup事件.那么,每一次的敲击键盘操作都会发送一个ajax请求,这显然不是我们希望的. 我们希望,尽量在空闲之后去发送ajax请求: 因此,我们设定用户在不敲击键盘之后1S,才去发送这个ajax请求 复制代码 代码如下: var timeout; onkeyup = function() { clearTime

ajax请求返回的数据看不到回调函数没有执行也没报错

  ajax请求返回的数据看不到回调函数没有执行,哪里都没有报错,有类似情况的朋友可以参考下本文 项目用的是ssh,使用jquery的$.post访问struts2的Action,哪里都没有报错,可就是没有结果. 现在$.post要返回保存着权限的集合Collection ,权限类Privilege和用户类User相互关联,也就是Privilege里使用set集合保存着拥有这个权限的用户Set,用户User里也使用set集合保存着用户有的权限Set .数据都到action里了,但是回调函数没有执

ajax的异步请求-action响应ajax请求返回json类型执行不了success

问题描述 action响应ajax请求返回json类型执行不了success 我的action能响应ajax请求,但是不知道是返回的不是json还是其他的问题,就是执行不了success,代码如下: jsp代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix=&quo