zoukankan      html  css  js  c++  java
  • Ajax中的时间戳应用<转>

    ajax的时间戳
    当你的ajax需要的数据是及时更新的,也就是说在没有刷新页面的情况下,得到其他操作的新数据,你的ajax提交url中加入一个时间戳,这样,就可以避免页面使用缓存了,原理是:时间戳本事就是一个随时更新的变量,时间戳只是一个叫法,你可以这么理解:你的url中加了一个随时更新的变量,,那么,提交时是不会使用缓存的。
    var url = "insertData.jsp?textName="+nameAdd+"&date="+new Date().getTime();
    也可以用时间的数值形式:
    var url = "insertData.jsp?textName="+nameAdd+"&date="+(new Date()).valueOf();

    var url = "insertData.jsp?textName="+nameAdd+"&date="+Math.random();

    利用这个方法,可以实际项目开发中解决像更换验证码图片的及相类似的问题。
    如:
    <body>
           <img src="ImgeServer"/>
           <a onclick="changImg()" href="#">换一张</a>
    </body>
    当每次点击一下"换一张"这个链接时,就会触发onclick对应的changImg() 这个事件,在changImg()这个事件中就每次都改变ImgeServer这个servlet(利用在url后加上时间戳)。

    以下是校验用户名的一个的.js文件例子:
    // 定义用户校验的方法
    function verify(){
        //测试verify()这个方法
        alert("调用到了verify1.js中的verify()方法!");
         //下面是连写的方式

        //在jquery中,可以像StringBuffer.append()方法来拼接字符串一样,
        //将语句写成一个语句链
        //如: StringBuffer buffer=new StringBuffer();
        //     buffer.append("abc").append("def").append("ghi");

        //每次点击校验按钮: 在FireFox下,页面总会重新请求,次数累加;
        //                   而在IE下,页面不会重新请求,次数不累加,原因是IE下,每次读取的都是缓存(Cache)中的数据
         // var userName=$("#name").val();
           var url="AjaxServer?name="+$("#name").val();
          //调用在url中增加时间戳的方法
           url=addUrl(url);
           $.get(url,null,function(data){
               $("#result").html(data);
           });
    }

    //给url增加时间戳,利用时间戳来使页面提交的时候,每次的url都不一样,这样就骗过IE浏览器,不会去读取缓存中的数据了
    function addUrl(url)
    {
        //var timetemp = (new Date()).getTime();
        var timetemp = (new Date()).valueOf();
        //alert(timetemp); //时间戳
        if(url.indexOf("?")>-1)
        {
           url +=   "&t=" + Math.random();
           alert(url);
        }
        else

         {
           url = url + "&?t=" + timetemp;
           alert(url);
         }
        return url;
    }

  • 相关阅读:
    简单的模板解析函数
    HTML通过事件传递参数到js 二 event
    HTML通过事件传递参数到js一
    通过this获取当前点击选项相关数据
    LeetCode 20. 有效的括号(Valid Parentheses)
    LeetCode 459. 重复的子字符串(Repeated Substring Pattern)
    LeetCode 14. 最长公共前缀(Longest Common Prefix)
    LeetCode 168. Excel表列名称(Excel Sheet Column Title)
    LeetCode 171. Excel表列序号(Excel Sheet Column Number) 22
    LeetCode 665. 非递减数列(Non-decreasing Array)
  • 原文地址:https://www.cnblogs.com/winkey4986/p/2722333.html
Copyright © 2011-2022 走看看