2015-01-15 77 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

回答

相關問題