我有一個有幾頁的Django應用程序。如果用戶點擊該應用,會話將在30分鐘後過期(配置爲SESSION_COOKIE_AGE = 1800
)。但是,如果用戶停留在頁面上並通過jQuery AJAX請求重新加載數據,則會話生存期不會延長並過期。如何在使用jQuery Ajax請求時保持Django會話活動?
如何在使用Ajax請求時實現會話也可以擴展?
我有一個有幾頁的Django應用程序。如果用戶點擊該應用,會話將在30分鐘後過期(配置爲SESSION_COOKIE_AGE = 1800
)。但是,如果用戶停留在頁面上並通過jQuery AJAX請求重新加載數據,則會話生存期不會延長並過期。如何在使用jQuery Ajax請求時保持Django會話活動?
如何在使用Ajax請求時實現會話也可以擴展?
還有SESSION_SAVE_EVERY_REQUEST
設置可以保存會話併發送會話cookie與每個請求。
參考docs的細節
您可以使用Ajax請求延長喜歡你的會議上就這
def update_session(request):
if not request.is_ajax() or not request.method=='POST':
return HttpResponseNotAllowed(['POST'])
request.session['mykey'] = 'myvalue'
return HttpResponse('ok')
你的JavaScript會是這樣
$.post('/update_session/', function(data) {
alert(data);
});
哇,謝謝!這樣可行! – Daniel