我有一個運行在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");
}
會發生什麼嘗試,如果你使用'window.location.href',而不是'document.location'? – Malachi 2015-01-19 10:39:05
@Malachi嗨,我試過了,它看起來沒有任何變化 – NineCattoRules 2015-01-19 11:00:48
也許使用'document.location.reload(true);'就足夠了?請參閱https://developer.mozilla.org/en-US/docs/Web/API/Location.reload – Malachi 2015-01-19 13:40:04