zoukankan      html  css  js  c++  java
  • 解决ajax 遇到session失效后自动跳转的问题

    在项目中,经常会遇到session失效后,点击任何链接无反应的情况!这样给客户的体验就不是很好,以为是系统出了故障!所以在项目中我们会处理session失效后的跳转问题(一般给用户提示,并跳转后登录页面),代码实现如下所示:

    // 着重处理ajax请求跳转的问题,因为form表单请求可以直接在服务器端完成跳转
    $.ajaxSetup({   contentType:"application/x-www-form-urlencoded;charset=utf-8",   cache:false, global: true, complete: function (XMLHttpRequest, textStatus) { var data = XMLHttpRequest.responseText; if(data.substr(0,15) == "session-invalid") { alert('当前会话已失效,请重新登陆!'); if( window.top != window.self ){ window.top.location = "/index.php?r=site/logout"; // 跳转到登录页面 }else{ window.location = "/index.php?r=site/logout"; } } } });
    // PHP服务端代码处理
    if
    ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' && !$_SESSION['sUserId']){ //如果是ajax 请求 echo 'session-invalid'; exit; }
  • 相关阅读:
    document
    reg() replace
    BOM和DOM的区别
    注册表
    实现移动端通过下拉菜单栏实现pc端的导航栏
    通过ajax获取api,并且通过jquery获取自定义属性
    git的使用
    当盒子不设置width,而设置max-width遇到的问题
    CSS之position
    JavaScript之数组常用的方法
  • 原文地址:https://www.cnblogs.com/itsharehome/p/6066649.html
Copyright © 2011-2022 走看看