great82149
great82149
2015-05-01 03:26
采纳率: 37.5%
浏览 1.9k

关于调用jQuery ajax交互的原理问题

比如这样的代码

 $.ajax({
                'url': '/chk_user.php',
                'type': 'get',
                'data': {
                    'ajax': 'checkuser',
                    'username': value
                },
                'cache': false,
                'async': false,
                'success': function(data) {
                    redata = data;
                }
            });

通过浏览器开发者模式查看
实际上是访问了 http://www.xxx.com/chk_user.php?ajax=checkuser&username=123456&_=1430449833478 这个网页
那这个_=1430449833478参数是怎么回事?我直接访问这个地址会返回一个错误,所以我猜这最后一个参数是一个随机数或者时间,用来过滤非法访问。
那么它是怎么计算出来的?
小弟看了半天源代码,实在是搞不懂,麻烦知道的指点下,谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy
    已采纳

    不是为了过滤非法访问,而是为了避免浏览器缓存而无法获取新的页面。
    浏览器有时候再次请求同一个url的时候,会直接从缓存中读取,而不和服务器通讯
    所以加上随机数,这样强制让浏览器认为这个页面没有访问过,必须和服务器通讯

    点赞 评论
  • caozhy

    可能是时间戳,一个长整数

    点赞 评论
  • Jackdowson123
    Chrisdowson 2015-05-01 12:44

    所以有的时候为了避免浏览器缓存影响调试信息,可以直接在url后面加一个v=随机数就可以了

    点赞 评论

相关推荐