有兩個<a>
:都鏈接到同一onClick
如何更新會話對象
<a id="100" onclick="createTriggered(this.id)"<i></i> Click Link </a>
<a id="200" onclick="createTriggered(this.id)"<i></i> Click Link </a>
javascript函數:
<script type=text/javascript>
$SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
function onClick(id){
var data = $.getJSON($SCRIPT_ROOT + '/triggered', {a:id});
window.alert({{ "session.keys()" }});
}
</script>
這個JavaScript函數將點擊<a>
ID,並將其發送到燒瓶功能:
@app.route('/onClick')
def onClick():
session['a_id'] = request.args.get('a')
return ('ok')
尾部er Flask函數獲取id
它更新session
對象創建新密鑰session['a_id']
。
最後,javascript window.alert
用於檢查session
對象是否具有應由Flask函數設置的新'a_id'鍵。當彈出window.alert
時,它顯示新密鑰丟失。刷新頁面並重新點擊<a>
鏈接將再次彈出window.alert()
,但這次顯示新的session['a_id']
密鑰在那裏。它看起來像session
對象的更新滯後。我必須刷新頁面才能使瀏覽器獲取Flask函數所做的更改。有沒有辦法確保Flask函數對session
對象所做的更新立即反映出來? 最後,因爲我正在更新整個會話的全局對象session
,所以我真的不想返回任何模板或重定向到另一個鏈接。我只想要Flask函數來設置session
變量,以便它可以在邏輯的某個地方使用。在這種情況下,從Flask函數返回一個虛擬字符串可以嗎?