xiaochao

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            1 隨筆 :: 6 文章 :: 48 評論 :: 0 Trackbacks

          當我們在使用ajax時通常會遇到使用history.back()或history.go(-1)的情況,這樣在返回ajax頁面時通常會時ajax的數據丟失(不是你最后一次選擇的ajax數據);這種情況下我們需要保存ajax的參讓其能在history.back()中起到作用;昨天晚上試了很多方法都不行;這個時候我們就需要利用history.back()返回的是上一個鏈接的特點通過window.location.hash來存在ajax所用到的值,下面是代碼試例:

          function getSetMeal(obj)
          {

           window.location.hash 
          = obj.value;
           
          var param = "test="+obj.value;
           
          new Ajax("test.do",{method:'post',onComplete:setMainSuit}).request(param);
            
          }


          在頁面時調用時

          <script>
               
          var first = "$!{first}"||-1;
               
          var hash=window.location.hash;
               
          if(hash!="")
               {
                
          //這里的參數解析你可以用自己的方法實現;
                  var str = hash.replace('#','');
                  
          var obj=new Object();
                  obj.value
          =str;
                  getSetMeal(obj);
               }
               
          else if(first!=-1)
               {
                 
          var obj=new Object();
                  obj.value
          =first;
                  getSetMeal(obj);
               }
          </script>


          下面在介紹一種情況的解決辦法,當你的ajax頁面還有返回上一個頁面時,如果你使用了hash存值的做法那么在使用history.go(-n)時是不好控制的,這時我們需要使用history.go(string)的方法準確的說是history.go(url)說明上是返回最近的鏈接包含的串,不過我使用串沒有起作用只有使用url;代碼如下:

           1 function back()
           2  {
           3    var domain=window.location.host;
           4    var protocol=window.location.protocol;
           5    //這個url是通過request.getHeader("Referer");來獲取的
           6    var url = "$!{url}"||"-1";
           7    //這樣是返回固定的這樣不好
           8    //history.go(protocol+"http://"+domain+"/test1.do");
           9    history.go(url);
          10 
          11  }
          12 
          posted on 2008-06-03 10:09 小超 閱讀(2168) 評論(1)  編輯  收藏 所屬分類: JAVASCRIPT

          評論

          # re: 當AJAX遇上History[未登錄] 2015-09-10 11:00 123
          撒旦法撒旦法水電費水電費阿薩  回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 淳化县| 吴川市| 巴青县| 乌拉特前旗| 浮山县| 大渡口区| 普兰店市| 瑞昌市| 鹤庆县| 平泉县| 沾化县| 独山县| 石棉县| 大方县| 龙川县| 普安县| 三台县| 新乡市| 齐齐哈尔市| 富阳市| 石楼县| 嘉义县| 区。| 突泉县| 鄯善县| 丁青县| 凤阳县| 兰州市| 绍兴市| 惠州市| 陈巴尔虎旗| 九寨沟县| 章丘市| 贵阳市| 银川市| 香港| 垦利县| 呈贡县| 澄城县| 墨江| 张家港市|