关于调用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个回答

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

great82149
great82149 原来是这样啊,那么这个参数就是一个依次递增的时间了?我发现第一次是1430449833478,过一会又变成1430449835432,它在不断增大
5 年多之前 回复

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐