ajax只请求一次,关于ajax的请求只处理一次的问题

做登录ajax的时候, 发现同样的参数请求, 比如用户名zzz,密码zz, 我点击登录后:对于一个浏览器,你的第一次点击是会调用rpc请求的, 但是, 你再用同一个浏览器提交表单的时候, rpc不会被提交, 因为参数一样, 这个可能是ajax的XMLHttpRequest对象的问题, 他设置了时间间隔了,实际上是(new ActiveXObject("Microsoft.XMLHTTP"))

所以, 在实际操作的时候, 给rpc的参数传递一个没有用的ts= new Date().getTime()或者

var now= new Date();

var year= now.getFullYear();

var month=now.getMonth()+1;

var day=now.getDate();

var hour=now.getHours();

var minute=now.getMinutes();

var second=now.getSeconds();

var ot=year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second;

一个时间参数 ,以保证每次的点击事件都会激发rpc请求, 因为他们的参数(或者说url)是不一样的。

为什么要把时间戳(时间参数)追加到目标url?

在某些情况下, 有些浏览器会把多个XMLHttpRequest请求的结果缓存在同一个url。如果对每个请求的响应不同,这就会带来不好的结果。把当前时间戳追加到url的最后,就能确保url的唯一性,从而避免浏览器的缓存结果。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值