<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評(píng)論 :: 0 Trackbacks

            現(xiàn)在web開發(fā)中,ajax應(yīng)用的比較多。關(guān)于此方面的框架也不少。在應(yīng)用中都會(huì)遇到session過期
    的問題,如處理不當(dāng)會(huì)影響用戶體驗(yàn),也有可能產(chǎ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過期時(shí),當(dāng)用戶有操作的時(shí)候,此時(shí)系統(tǒng)一般會(huì)返回登陸界面。
               讓用戶重新輸入用戶名和密碼。當(dāng)session過期的時(shí)候,AJAX請(qǐng)求返回的內(nèi)容應(yīng)該是登陸界面的頁面
              內(nèi)容(即登陸界面的頁面的html代碼)。通過判斷返回內(nèi)容是否用<html>來判斷session是否過期。
         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)簽*/}
         通過上面的方法可以判斷session是否過期,然后根據(jù)具體的業(yè)務(wù)進(jìn)行異常處理。

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

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

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

    posted on 2009-07-08 20:52 二胡 閱讀(1567) 評(píng)論(0)  編輯  收藏 所屬分類: ajax
    主站蜘蛛池模板: 免费看男女下面日出水视频| 国产在线精品一区免费香蕉| 1000部啪啪未满十八勿入免费| 亚洲成人国产精品| 国产精品成人亚洲| 亚洲国产成人久久综合区| 一道本在线免费视频| 亚洲天堂在线视频| 成人电影在线免费观看| 亚洲av之男人的天堂网站| 怡红院免费的全部视频| 精品日韩亚洲AV无码| 国产精品成人观看视频免费| 亚洲人精品亚洲人成在线| 成人黄动漫画免费网站视频 | 91精品导航在线网址免费| 亚洲黄色免费观看| 成人免费视频77777| 亚洲AV永久无码精品一福利| 亚洲av中文无码| 日本免费A级毛一片| 亚洲自偷自拍另类图片二区| 日韩精品无码区免费专区| 国产成人亚洲精品播放器下载| 亚洲五月午夜免费在线视频| 日韩视频免费在线观看| 亚洲AV无码乱码在线观看代蜜桃| 成人免费午夜视频| 免费的黄网站男人的天堂| 亚洲成A人片在线观看无码不卡| 无码区日韩特区永久免费系列| 亚洲av无码成人精品国产 | 免费涩涩在线视频网| 免费的黄色网页在线免费观看| 亚洲AV无码久久精品狠狠爱浪潮| 成人免费视频69| 四虎影视久久久免费观看| 久久久久久久亚洲Av无码| 性色av免费观看| 久久精品成人免费看| 亚洲精品天堂成人片AV在线播放|