Ajax请求URL后加随机数原理

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

例如:

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

  });

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

还有另一种解决办法:

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

  

时间: 2024-12-17 15:36:40

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

【jquery】ajax 请求成功后新开窗口被拦截解决方法

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

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

转自:http://www.cnblogs.com/linjiqin/p/3148205.html jQuery.ajax({       "type":"post",       "url":"http://www.baidu.com",       "success":function(rel){            if(rel.isSuccess){                 window.

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

ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所以被拦截. 解决方法: 1.异步改为同步,即:async:false 2.将新开窗口指向为一个对象,然后修改对象的 ur

ajax请求先发后至问题处理

js进行ajax请求时,会出现先发起的ajax请求,结果比后发起的后到的情况,比如刷新页面时用代码切换下拉控件时,本来想显示切换后的请求数据,结果刚刷新时的请求数据后到,就会出现问题 大概有几种解决方式 1.加一个类似序列号的东西,服务器收到这个序列号再返回,这样小于当前序列号的数据都抛掉 2.使用同步模式 3.终止当前ajax请求 4.不太好的一种解决方法,使用SetTimeOut. 前三种需要更改代码比较多,最后一种相对简单一点,但不可靠. 原文地址:https://www.cnblogs.

Extjs4.2 ajax请求url中传中文參数乱码问题

今天有个需求须要在url中传入中文參数.结果在后台取得时出现乱码,怀疑可能是编码问题.上网查询了资料,试了几种办法.发现有一种可行,记录在此,以便查阅. url中用encodeURI 进行2次编码: Ext.Ajax.request({ url:"updateadminuser.do?"+userid+"&uname="+encodeURI(encodeURI(uname)), success:function (response) { store.load

ajax请求Url加参数的使用方法

var cId = $(this).data('claim-id');var adoptUrl = "<?php echo $this->createUrl('claim/applyAdopt',array('t'=>time())); ?>";//还可以使用占位符 然后进行替换//发起请求$.ajax({ url: adoptUrl+'?cid='+cId, type: 'post', dataType: 'json', success:function(da

ajax请求成功后返回值如何赋值给js变量

var msg = "" $.ajax({             type:"POST",             url :"ajax/checkArray.php",             data:"nns_config_item_value="+nns_config_item_value,             success:function(data){                          if

Extjs4.2 ajax请求url中传中文参数乱码问题

用例点表达进度 识别用例的状态 根据生命周期要求,识别用例的状态及转移. 典型的如瀑布型,一般依次有如下状态:用例识别,用例确认,用例已设计,用例已编码,用例已测试. 采用测试驱动开发(TDD)的一个例子,依次状态:用例识别,已写测试用例,用例已编码,用例已集成,用例已测试. 最简化用例状态,依次状态:用例识别,用例已集成. 从以上例子可以看到,传统生命周期和敏捷方法都可以得到合适的状态转移图. 设定用例状态的完成度 完成度以百分比表示,表示与工作量成正比的完成程度,0%表示刚开始,工作量投入为

JS 点击元素发ajax请求 打开一个新窗口

JS 点击元素发ajax请求 打开一个新窗口 经常在项目中会碰到这样的需求,点击某个元素后,需要发ajax请求,请求成功以后,开发需要把链接传给前端(或者说请求成功后打开新窗口),前端需要通过新窗口打开这个链接,其实这样的原理大家可能觉得非常简单,想起来非常简单,用JS中的window.open就可以实现打开新的窗口,或者点击div元素,发ajax请求成功后,动态把链接传给a标签,然后再触发a标签事件,也可以实现,对吧?曾几何时,我也曾经把这样的问题发到JS群里面去,很多JS社区朋友说 龙恩 这