1. 程式人生 > >springmvc 攔截器區分ajax請求

springmvc 攔截器區分ajax請求

引子

最近由於工作需要,在攔截器裡對ajax請求做一些不同的處理,在這裡把自己的的處理方式分享出來。比較簡單,看看程式碼就會明白了。

ajax程式碼

$(document).ready(function(){
    $(".new_bt").click(function(){
        data = ...;
        $.ajax({
            type: "POST",
            url: "../index/saveYue.do",
            data:data,
            dataType: "json",
            success:function
(data){
//成功的處理 } error:function(data){ if(data.responseText=='loseSession'){ //session失效時的處理 } } }); });

攔截器程式碼

    @Override
    public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object obj){     
        //一系列處理後發現session已經失效
if (req.getHeader("x-requested-with") != null && req.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){ //如果是ajax請求響應頭會有x-requested-with PrintWriter out = resp.getWriter(); out.print("loseSession");//session失效 out.flush(); return
false; }else{ //非ajax請求時,session失效的處理 } return true; }