私には2つの機能があります:
@app.route('/firstfunc', methods = ['POST'])
def firstfunc():
session['final_box'] = 10
session.modified = True
return jsonify("success")
return jsonify("error")
@app.route('/secondfunc', methods = ['GET','POST'])
def secondfunc():
if request.method == 'POST':
final_boxx = session['final_box']
print("VALUE----------------------->>>>>>", session['final_box'])
return render_template('some.html', final_boxx = final_boxx)
AJAX 呼び出し:
$.ajax({
type: "POST",
cache: false,
data:{data:annotation_Jsonstringify,image_height:realHeight,image_width:realWidth,image_name:filename},
url: "/firstfunc",
dataType: "json",
success: function(data) {
alert(data);
return true;
}
});
セッション変数は Ajax 経由で送信されます。フォームの送信後、セッション変数にアクセスしようとすると、このエラー メッセージが表示されます。
エラー:
in __getitem__ return super(SecureCookieSession, self).__getitem__(key)
KeyError: 'final_box'
このプラットフォームで同様の質問がいくつかありましたが、このケースに該当するものはありませんでした。
私がすでに試したこと:
- session.modified=セッション後に真['final_box']=final_box
- app.secret_key はすでに存在していました
- 保留中のすべてのリクエストがサーバー側で完了するのを待ちます
解決策への指針や微調整は大歓迎です。