AjaxリクエストのRedirect()

1845 ワード

ページにはIsLogin()メソッドがあり、このリクエストのトリガーがログインしているかどうかを判断し、ログインしている場合はクエリー操作を実行し、ログインしていない場合はRedirect()をログインインタフェースに送信します.
ページは多くのAjax要求を使用してデータを取得するが、Ajax要求ではContextに実行する.Response.Redirect()でエラーが発生しました.
ネット上のいくつかの資料が与えた解決策は、Ajax要求にステータスコードを追加し、人為的にステータスコードを取得し、リダイレクトすることである.
 
IsLogin()メソッドでは、通常要求とAjax要求を同時に処理する必要があるので、処理する前に、現在の要求がAjax要求であるかどうかを知る必要があります.
ネット上の資料を参考にしました.http://www.cnblogs.com/sosoft/p/3793425.html
http://code.iteye.com/blog/1458364
http://www.cnblogs.com/sosoft/p/3793425.html
ログイン判定の前に、そのリクエストがAjaxリクエストであるか否かを判断し、そうでなければ直接リダイレクトし、もしそうであればJavaScriptでリダイレクトする.コードは次のとおりです.
HttpContext context = HttpContext.Current;

            bool isAjaxRequest;

            try

            {

                string ss = context.Request.Headers["X-Requested-With"];

                isAjaxRequest = (ss != null && ss == "XMLHttpRequest") ? true : false;

            }

            catch (System.Exception ex)

            {

                isAjaxRequest = false;

            }