Codeigniter多语言 - 从ajax - 会话问题中选择

时间:2011-07-01 11:43:11

标签: ajax session codeigniter select multilingual

我想用多种语言制作网站并选择带有ajax的语言,并且将从数据库中选择不同的单词,我想使用session [lang],我不想使用GET [lang]。 我试着从5天开始做这个,但我尝试了很多变种,现在我很困惑

现在我在这里:

我有模型 - > Langs - >

function set_langs($arg)  {
  $this->session->unset_userdata(‘lang’);
  $this->session->set_userdata(‘lang’, $arg);
  return $arg;
}
function get_langs()  {
  return $this->session->userdata(‘lang’);
}
家庭控制器中的

- >

public function index(){
  if($this->session->userdata(‘lang’)==’‘){
  $this->Langs->set_langs(‘en’);
  $glang[‘lang’] = $this->Langs->get_langs();
  }else{
  $glang[‘lang’] = $this->Langs->get_langs();
  }
$this->load->view(‘header’, $glang);
}
 public function set()
{
  if($_POST && $_POST[‘lang’] != NULL) {
    $this->Langs->set_langs($_POST[‘lang’]);
    $return[‘error’] = false;
    $return[‘msg’] = $this->session->userdata(‘lang’).’ ok!’;
    echo json_encode($return);
  }else{...}

}

并在 header.php - >中在JS - >

$.ajax({
  type: “POST”,
  url: “index.php/home/set”,
  dataType : ‘json’,
  data: “lang=”+lang,
    success: function(data){
    if(data.error === true){
    $( “#dialog-message2” ).text(data.msg).dialog({
    modal: true,
    buttons: {
    Ok: function() {
    $( this ).dialog( “close” );[removed]=location.href;
                      }
                    }
                  });
            }else{...}

当页面刷新语言stil没有改变但是当从ajax返回消息时它工作 所以哪里错了 抱歉英语不好 感谢

* 问题是 - > system / libraries / Session.php(来自CodeIgniter_2.0.2.zip的原始文件) - >我下载http://codeigniter.com/wiki/File:CI_1.5.1_with_Session.zip/并没有问题

1 个答案:

答案 0 :(得分:0)