【问题标题】:Session expired during the ajax request in php会话在php中的ajax请求期间过期
【发布时间】:2013-03-28 12:53:51
【问题描述】:

我有一个问题,会话已过期,然后我点击了一个发出 ajax 请求的按钮,然后在它上面保持 & 什么也不做,在控制台中它显示为错误,如果它是任何其他操作然后它重定向到登录页面,但对于 ajax 它什么也不做。现在我需要的是,即使在 ajax 请求中,如果会话过期,它也应该重定向到登录页面。主要的是我的应用程序中有很多 ajax 调用,我需要为所有 ajax 请求创建一个通用脚本以重定向到登录页面。 请帮帮我...

【问题讨论】:

    标签: php ajax


    【解决方案1】:
    1. 通过ajax调用服务端文件
    2. 在服务器端检查会话。
    3. 如果会话过期,则在会话过期时发送响应。
    4. 在 ajax 成功回调中始终检查会话过期数据。
    5. 如果您发现会话过期值重定向到使用 location.href 登录。 下面只是一个骨架代码。

      $.post('URL',{},
      function (data) {
        if (data.sessionexpired) {
         location.href = 'login.php';
        } else {
        //Normal process
      }
      

      } );

    【讨论】:

    • 首先感谢您的回答,我之前尝试过,问题是我应该写多少个脚本?这就是我在我的问题中提到的,因为“主要是我的应用程序中有很多 ajax 调用......”
    • 您是如何在应用程序中使用 ajax 的?喜欢使用 Jquery ajax,post 还是 get?
    【解决方案2】:

    让 ajax 请求返回错误代码或字符串 error_go_home 或其他内容。

    如果接收该消息的 javascript 获得该字符串,则让 javascript 将它们重定向回家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 2016-01-20
      • 1970-01-01
      • 2018-02-22
      相关资源
      最近更新 更多