国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Web 開發中Ajax的Session 超時處理方法

2019-11-19 17:52:16
字體:
來源:轉載
供稿:網友

在 Java Web 開發中,當session超時的情況下,普通頁面的跳轉好處理。關于Ajax的請求超時處理,就需要特殊處理下了。

先寫一個統一的過濾器,或者攔截器,針對Ajax請求進行過濾處理,下面示例以Filter為例:

  public void doFilter(ServletRequest request, ServletResponse response,      FilterChain chain) throws IOException, ServletException {    HttpServletRequest servletRequest=(HttpServletRequest)request;    HttpServletResponse servletResponse=(HttpServletResponse)response;    // 判斷是否是 Ajax 請求,因為 Ajax 請求會追加 x-requested-with=XMLHttpRequest    if("XMLHttpRequest".equalsIgnoreCase(servletRequest.getHeader("x-requested-with"))){      servletResponse.addHeader("sessionstatus", "timeout");    }        // 后續代碼省略......  }

然后在頁面上調用使用Ajax的時候,捕獲結果進行超時處理,如下:

// 全局的ajax訪問,處理ajax清求時sesion超時$.ajaxSetup({  type: POST,  contentType:"application/json;charset=utf-8",  // 使用 complete 捕獲結果,做超時處理  complete: function (XMLHttpRequest, textStatus) {    var data = XMLHttpRequest.responseText;    if (data == "timeout") {      if( window.top != window.self ){        window.top.location = "${pageContext.request.contextPath}";      }    }  }});

根據 Header 判斷是否是 Ajax 請求,如果是 Ajax 就丟出一個狀態碼。

這段處理的 js 代碼,可以提取為一個方法,這樣方便在其他地方直接使用。

以上這篇Web 開發中Ajax的Session 超時處理方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广饶县| 新平| 安徽省| 太原市| 祥云县| 永宁县| 互助| 页游| 宜州市| 南昌市| 渭源县| 同仁县| 焦作市| 综艺| 荣成市| 垫江县| 方山县| 和林格尔县| 滁州市| 普陀区| 太原市| 建始县| 阳西县| 信阳市| 定远县| 资阳市| 满洲里市| 黄龙县| 新丰县| 武清区| 阜阳市| 西乌珠穆沁旗| 宣恩县| 驻马店市| 崇仁县| 普宁市| 汉寿县| 淮南市| 卫辉市| 耒阳市| 大埔县|