1

在我看来,我开发了以下 js。

var url       = '<?php echo base_url(); ?>edit/';
$(document).ready(function(){
    $("#ajax-loader").hide();
    $("#personaldetails-en-di-icon").click(function(){
        $("#ajax-loader").show();
        $.post(url+'ajax/personaldetails/enable', {}, function(data){
            console.log(data);  
        });
     });
});

所以,当我点击时,它会请求编辑控制器。

在编辑控制器中我有私人 $id = null;

public function __construct() {
    parent::__construct();
    $this->load->library('session');
    $this->load->library('input');
    $this->load->model('editcv_model');
    $this->load->helper('url');

    $this->id = $this->session->userdata('login');        
    if (intval($this->id) < 1)
        die(json_encode(array('response' => 'not logged in')));
    }

    public function _remap($method = '',$param = array()){
        echo (json_encode(array('response' => 'done')));
    }
}

chrome 控制台中的第一个 ajax 调用 echo {"response":"done"} ,但第二个和其他请求 echo {"response":"not logged in"}。当我在 phpmyadmin 中检查会话表时,它将与其他用户代理一起重新生成会话 ID

在此处输入图像描述

如您所见Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.57 Safari/537.1 AlexaToolbar/alxg-3更改为Mozilla/4.0 (兼容; MSIE 7.0; Windows NT 6.0) AlexaToolbar /alxg-3.0在 ajax 请求中。但我使用 ubuntu 和 google chrome 浏览器!!!。

4

1 回答 1

1

我对 CodeIgniter 会话也有同样的问题。

我切换到本地会话: https ://github.com/EllisLab/CodeIgniter/wiki/Dariusz-Debowczyk's-Session-Class

当 php 已经有了一个好的会话机制时,我从来没有真正理解实现另一种会话机制(我不是在谈论 CI_Session)背后的原因。:)

于 2012-08-09T14:01:59.043 回答