Ajax请求URL后加随机数原理

原文:Ajax请求URL后加随机数原理

例如:

  $.ajax({
            type: "GET",
       url: "login.action?ran="+getRandomNum()

  });

中url后面接了个随机数,是为了欺骗浏览器或代理服务器用的;某些代理服务器会无视 no-cache 之类的标识,对响应结果进行强行缓存;而当url请求不改变的时候,有时候会导致浏览器不向服务器发送请求,而直接取调用缓存中的数据。加上随机数就是欺骗浏览器url改变了,要每次向服务器发送请求而不去调用缓存中的数据;

 

还有另一种解决办法:

在Jquery中有属性设置cache:false即可;

  

时间: 2024-11-10 00:10:36

Ajax请求URL后加随机数原理的相关文章

Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因_javascript技巧

看到别人写的JS,ajax请求地址后加随机参数,比如XXXX?t= + new Date().getTime(). 一开始搞不懂为什么,网上查了资料,原因是防止浏览器缓存. 浏览器为了提高用户访问同一页面的速度,会对页面数据进行缓存.当url请求地址不变时, 有时候会导致浏览器不发送请求,直接从缓存中读取之前的数据. 如果数据改变了,而没加随机数,读取的数据会跟之前一样. 加上随机数,就是欺骗浏览器url改变了,会每次都向服务器发送请求而不去读缓存

spring mvc ajax请求数据后,前台根据返回的key如果跳转的别的jsp界面

问题描述 spring mvc ajax请求数据后,前台根据返回的key如果跳转的别的jsp界面 根据返回的data,在jsp前端进行跳转,有没有好的办法,还是可以通过配置就可以实现: window.location不太好使,可以跳转但是URL地址会显示具体的参数: 解决方案 参数你都放action里面了...那肯定显示了..fm表单放一个隐藏域存储你的cardList参数 <form id="fm" action="${}.../cardlist">&

请求赋值-ajax请求数据后赋值后为什么会把值清空了

问题描述 ajax请求数据后赋值后为什么会把值清空了 function formSubmit(url) { var urlPrefix = "http://localhost:8080/gtms/"; var param = '${param.name}'; var url = urlPrefix + param + ".action"; $.ajax({ url : "../apiTest/test.action?url=" + url, da

ajax请求成功后的返回数据

问题描述 ajax请求成功后的返回数据 我用ajax发送请求做注册,若请求成功且注册成功,用了alert("注册成功"), 若验证码或其他问题,导致访问成功但是未注册成功,会有其他的信息弹出. 在不同情况下,其他信息都会根据各种情况正确的弹出,但是当注册成功时(查了后台数据,能够查到新注册的信息),"注册成功"字样不弹出来. 解决方案 你在success回调里面return内容无用,没有任何对象接收返回值,而且ajax是异步的,如果你userLive要返回数据,也需

ajax请求action后,数据存放在session中,jsp页面通过el获取数据,可是第一次登录总

问题描述 ssh项目中,我需要登陆某个页面(如a.jsp),通过onload来触发js函数(函数是ajax请求)请求到相应的action,处理完成后将数据存放到session对象里面,然后在a.jsp中用el表达式获取想要的数据,这是我的设计思路.可是问题来了,不知道为什么在打开浏览器第一次登录a页面时,a页面不会显示想要的数据,刷新后就有数据了,之后也正常.这是为什么了???我该如何解决这个问题了?或有什么好的办法可以实现登陆一个页面,页面上数据是从服务器端获取的,的方法吗? 解决方案 解决方

ajax请求成功后新开窗口window.open()被拦截解决方法_AJAX相关

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所

Ajax请求成功后打开新窗口地址_AJAX相关

废话不多说,关键代码如下所示: jQuery.ajax({ "type":"post", "url":"http://www.baidu.com", "success":function(rel){ if(rel.isSuccess){ window.open(rel.url,"_blank"); } } }); 这个url请求成功后window.open(rel.url,"_

Ajax请求成功后打开新窗口地址

废话不多说,关键代码如下所示: jQuery.ajax({ "type":"post", "url":"http://www.baidu.com", "success":function(rel){ if(rel.isSuccess){ window.open(rel.url,"_blank"); } } }); 这个url请求成功后window.open(rel.url,"_

ajax请求成功后新开窗口window.open()被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所