<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評(píng)論 :: 0 Trackbacks

            現(xiàn)在web開(kāi)發(fā)中,ajax應(yīng)用的比較多。關(guān)于此方面的框架也不少。在應(yīng)用中都會(huì)遇到session過(guò)期
    的問(wèn)題,如處理不當(dāng)會(huì)影響用戶體驗(yàn),也有可能產(chǎn)生莫名的問(wèn)題。
            結(jié)合自己的思考和網(wǎng)上相關(guān)內(nèi)容的參考,給出如下解決方案。每個(gè)方案都有不同的優(yōu)缺點(diǎn),歡迎
    大家指正。
         方案1:檢查AJAX返回的返回的內(nèi)容是否有<html>標(biāo)簽
               在web系統(tǒng)中,當(dāng)session過(guò)期時(shí),當(dāng)用戶有操作的時(shí)候,此時(shí)系統(tǒng)一般會(huì)返回登陸界面。
               讓用戶重新輸入用戶名和密碼。當(dāng)session過(guò)期的時(shí)候,AJAX請(qǐng)求返回的內(nèi)容應(yīng)該是登陸界面的頁(yè)面
              內(nèi)容(即登陸界面的頁(yè)面的html代碼)。通過(guò)判斷返回內(nèi)容是否用<html>來(lái)判斷session是否過(guò)期。
         var result=request.responseText;/* ajax返回的內(nèi)容*/
        
         if(result.indexOf('<HTML>')>-1){/*返回內(nèi)容中有html標(biāo)簽*/}
         或者
         var r=/<html>/ig;
         if(r.test(result)){/*返回內(nèi)容中有html標(biāo)簽*/}
         通過(guò)上面的方法可以判斷session是否過(guò)期,然后根據(jù)具體的業(yè)務(wù)進(jìn)行異常處理。

         方案2:返回的結(jié)果中有session是否過(guò)期的標(biāo)志。也有人稱為true/false模式
                       此解決方案一般結(jié)合json使用。
         如返回的結(jié)果是:
            var res={
                 "result":true,/*session沒(méi)有過(guò)期,false(session過(guò)期)*/
                 "data"  :""/*其它數(shù)據(jù)*/
                         }
         if(res["result"])
         {
              /*session沒(méi)有過(guò)期*/
          }else{
             /*session過(guò)期*/
         }

         方案3:利用時(shí)間戳
         在頁(yè)面上搞個(gè)全局變量
         var startDate; /*ajax最近一次訪問(wèn)服務(wù)器的時(shí)間,Date類型*/
         if(new Date().getTime()-startDate.getTime()<30*60*1000)
         {
               /*假設(shè)session過(guò)期的時(shí)間30分鐘*/
               /*session沒(méi)有過(guò)期*/
         }else{
               /*session過(guò)期*/
         }
         哈哈!Do not trust the client

        方案4:延長(zhǎng)session過(guò)期時(shí)間
                 此方案有性能問(wèn)題
              4.1:延長(zhǎng)session過(guò)期時(shí)間
              4.2:client輪循server。(AJAX輪循server或client,server保持長(zhǎng)連接)

    posted on 2009-07-08 20:52 二胡 閱讀(1556) 評(píng)論(0)  編輯  收藏 所屬分類: ajax
    主站蜘蛛池模板: 大地影院MV在线观看视频免费| 日批日出水久久亚洲精品tv| 91av免费在线视频| 亚洲日本久久久午夜精品| 亚洲精品无码mv在线观看网站| 日本一区二区三区日本免费| 国产精品永久免费10000| 免费无码av片在线观看| 欧亚一级毛片免费看| 亚洲国产成人综合精品| 亚洲一区二区三区高清视频| 久久久久久亚洲精品| 国产亚洲精品国看不卡| 在线a亚洲v天堂网2018| 国产成人在线免费观看| 毛片免费观看视频| 青青青免费国产在线视频小草| 玖玖在线免费视频| a级毛片100部免费观看| 精精国产www视频在线观看免费| 自拍偷自拍亚洲精品偷一| 久久夜色精品国产噜噜亚洲a| 666精品国产精品亚洲| 亚洲人成在线观看| 亚洲AV无码精品无码麻豆| 国产亚洲精品自在久久| 亚洲中文字幕无码专区| 亚洲麻豆精品国偷自产在线91| 免费A级毛片无码久久版| 国产青草视频免费观看97| 日本免费电影一区| 国产青草视频免费观看97 | 亚洲国产精品视频| 无码不卡亚洲成?人片| 少妇亚洲免费精品| 亚洲情侣偷拍精品| 国产成人亚洲影院在线观看| 亚洲中文字幕在线观看| 国产亚洲福利精品一区| 亚洲国产一区二区a毛片| 久久精品a亚洲国产v高清不卡|