2015-01-15 82 views
1

我有一个运行在Apache/2.4.7(Ubuntu)服务器上的网站,没有任何错误,我在其上安装了一个使用CodeIgniter 2.1.4和Bootstrap的PHP脚本。需要手动刷新页面才能显示用户名登录

在页面顶部,登录框作为模态弹出窗口工作,但当有人尝试登录时,脚本将重新加载页面,但不会显示用户的登录名。只有在手动刷新页面用户能看到他们的名字吗?

我一直在试图寻找一个解决方案一个多月,包括做一个新的全新安装服务器和脚本,改变.htaccess文件,停止分布式缓存等

我接触的双方脚本的所有者和CodeIgniter支持,他们告诉我这可能是一个超负荷的Ajax问题。

由于我的脚本主要是Ajax,除了登录以外,它可以正常工作,是否有可能以不同的方式进行登录?我怎样才能正确地整合脚本?

这是我的登录功能(assets/js/custom.js):

function login() { 
    var email = $('#loginForm [name="email"]').val(); 
    var pwd1 = $('#loginForm [name="password1"]').val(); 

    if (isEmpty(pwd1) || isEmpty(email)) { 
    alert(msg_required_fields); 
    return false; 
    } 

    $.post(base_url + 'main/login', { "email": email, "pwd1": pwd1 }, function(data, textStatus, xhr) { 
    if (data.error == 1) { 
     alert(data.msg); 
    } 

    if (data.error == 0) { 
     document.location = base_url + 'main/reload'; 
    } 
    }, "json"); 
} 

UPDATE

我有同样的问题也为注销功能:

function logout() 
{ 
    $this->admin->deleteTable('online',array('iduser' => $this->session->userdata('id'))); 
    $this->session->unset_userdata('id'); 
    $this->session->sess_destroy(); 
    if($this->session->userdata('facebook') == '1') 
     redirect(base_url(),"main/facebook/logout"); 
    else 
     redirect(base_url()."main/reload","refresh"); 
} 
+1

会发生什么尝试,如果你使用'window.location.href',而不是'document.location'? – Malachi 2015-01-19 10:39:05

+0

@Malachi嗨,我试过了,它看起来没有任何变化 – NineCattoRules 2015-01-19 11:00:48

+1

也许使用'document.location.reload(true);'就足够了?请参阅https://developer.mozilla.org/en-US/docs/Web/API/Location.reload – Malachi 2015-01-19 13:40:04

回答

相关问题