great82149 2015-05-01 03:26 采纳率: 0%
浏览 1859
已采纳

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

  • threenewbee 2015-05-01 03:30
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝