【问题标题】:After Ajax request session is expired in phpAjax 请求会话在 php 中过期后
【发布时间】:2016-06-08 08:42:15
【问题描述】:

我在 codeigniter 中创建了 REST API。我在我的 codeigniter 网站上使用的这个 API 运行良好。我使用 ajax 创建了一个用于调用 API 的 JavaScript。它也可以正常工作,但问题是调用 ajax 后如果刷新页面或厌倦打开网站的另一个页面,它会发送给我登录页面。我不知道为什么我的会话过期了?

我已签入 chrome 开发者工具。调用ajax后点击页面返回302状态。

$.ajax({
            url: rest_url,
            dataType: 'jsonp',
            success: function(data){                  
                //some code
            }
        });

【问题讨论】:

  • 你的 codeigniter 是什么版本?
  • 客户端版本表示网站版本为2.0,API版本为3.0
  • 我想知道你用的是codeigniter 2还是codeigniter3
  • 我正在使用 codeigniter 2
  • 这在我的开发机器 Linux 上运行良好。但是我在服务器上遇到了这个问题

标签: ajax codeigniter rest


【解决方案1】:

此问题是由 AJAX 请求期间会话 ID 重新生成引起的 如果你升级你的 codeigniter ,那会很好,因为我们已经用 codeigniter 修复了这个错误。如果你不能,你可以在这里查看我们如何修复它Fix of this bug in github。如您所见,您只需要更改此文件系统/libraries/Session.php 上的 if 条件。我想我的回答会对你有用。

【讨论】:

  • 这在我的开发机器 Linux 上运行良好。但是我在服务器上遇到了这个问题
  • 看看你的服务器上的文件是否真的发生了变化,然后再次测试
  • 正如我所说,它在开发机器上运行良好。在服务器上传时会出现此问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-18
  • 2011-10-10
  • 2012-10-11
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
相关资源
最近更新 更多