我在做下面的代碼錯了嗎?當Ci會話過期時,我似乎無法獲得警報(「成功」)。下面是我的jQuery和詞代碼:jQuery和Ci沒有正確處理註銷功能
setInterval(function() {
jQuery.getJSON("<?=base_url()?>index.php/regUserDash/sessionExpire", function(data) {
var sessionState = jQuery.parseJSON('{"sessionExpired":"true","sessionExpired":"false"}');
if(sessionState.sessionExpired === "true") { // if session is expired run the following code
var dataString = 'true';
jQuery.ajax({ // send the expired signal to Ci so that it knows the session has expired
type: 'POST',
dataType: 'JSON',
url: '<?=base_url()?>index.php/regUserDash/extendSession',
data: {'dataString': true},
success: function(data) {
if (data.extendedSession == true) {
alert('success');
} else {
return false;
}
}
});
} else if(sessionState.sessionExpired == "false") {
return;
}
});
}, 120000); // loop through every 2 minutes
笨代碼:
public function sessionExpire() {
if ($this->session->userdata("logged") == "1") {
echo json_encode(array("sessionExpired" => false));
} elseif($this->session->userdata("logged") == "0") {
echo json_encode(array("sessionExpire" => true));
}
} public function extendSession() {
// set loggedIn session var
$this->session->set_userdata('logged', '1');
// return json to ajax call
echo json_encode(array("extendedSession" => true));
}
'VAR的sessionState = jQuery.parseJSON(「{ 」sessionExpired時「:」 true「,」sessionExpired「:」false「}');'這裏可能是其中一個問題.. – 2012-07-28 22:46:57
究竟是什麼? – 2012-07-28 22:47:45
'sessionState.sessionExpired'永遠是'false' – 2012-07-28 22:48:37