4 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
這個(gè)思路是不成立的。無(wú)論你是自動(dòng)刷新,還是用戶(hù)操作刷新,只要存在著操作,SESSION就會(huì)自動(dòng)更新聲明周期,你判斷或不判斷它都會(huì)這樣做。不過(guò)可以嘗試記錄用戶(hù)操作,并記錄當(dāng)前用戶(hù)最后一次操作的時(shí)間,ajax刷新的同時(shí)讀取此用戶(hù)最后操作,和當(dāng)前時(shí)間做比較,如果判斷此用戶(hù)長(zhǎng)時(shí)間沒(méi)有進(jìn)行操作,則強(qiáng)制終止會(huì)話(huà)并踢出系統(tǒng)。

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
你的登錄采用常規(guī)登錄,使用servlet或者jsp來(lái)設(shè)置session的,也就是你那個(gè)session是在一次請(qǐng)求里面設(shè)置的,你的ajax里面如果可以調(diào)用到request對(duì)象,那么你使用request.getSession().getAttribute("XXX")就能獲得到j(luò)sp或者servlet里面設(shè)置的session值了。
你得看看你的ajax到底是不是調(diào)用到了request對(duì)象(HttpServletRequest),把這個(gè)問(wèn)題解決,你的問(wèn)題就解決了。

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
如果要發(fā)送ajax請(qǐng)求的話(huà),用Javascript可以,推薦使用jQuery,方法使用起來(lái)更便捷。至于是用頁(yè)面加載事件來(lái)觸發(fā),還是做個(gè)按鈕來(lái)觸發(fā)Javascript代碼發(fā)送ajax請(qǐng)求都可以的。
至于session,你是要從前臺(tái)頁(yè)面訪(fǎng)問(wèn)session中保存的數(shù)據(jù)嗎?可以用Javascript發(fā)送ajax 請(qǐng)求來(lái)訪(fǎng)問(wèn)一個(gè)PHP頁(yè)面,用PHP代碼獲取當(dāng)前session中的數(shù)據(jù),再讓PHP代碼返回?cái)?shù)據(jù)給瀏覽器前臺(tái)頁(yè)面,大體思路就是這樣。
添加回答
舉報(bào)