【问题标题】:Codeigniter multilanguage - select from ajax - session problemCodeigniter 多语言 - 从 ajax 中选择 - 会话问题
【发布时间】:2011-09-26 17:04:48
【问题描述】:

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

现在我在这里:

我有 model -> 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’);
}

Home 控制器中 ->

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{...}

当页面刷新时语言仍然没有改变,但是当从 ajax 返回消息时它可以工作 所以我错了 抱歉英语不好 谢谢

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

【问题讨论】:

  • 如果您已回答此问题,请添加答案并将其标记为已回答。

标签: ajax session codeigniter select multilingual


【解决方案1】:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2012-02-10
    • 1970-01-01
    相关资源
    最近更新 更多