2016-05-12 60 views
0

我有一個有幾頁的Django應用程序。如果用戶點擊該應用,會話將在30分鐘後過期(配置爲SESSION_COOKIE_AGE = 1800)。但是,如果用戶停留在頁面上並通過jQuery AJAX請求重新加載數據,則會話生存期不會延長並過期。如何在使用jQuery Ajax請求時保持Django會話活動?

如何在使用Ajax請求時實現會話也可以擴展?

回答

0

還有SESSION_SAVE_EVERY_REQUEST設置可以保存會話併發送會話cookie與每個請求。

參考docs的細節

+0

哇,謝謝!這樣可行! – Daniel

0

您可以使用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); 
});