0

私には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'

このプラットフォームで同様の質問がいくつかありましたが、このケースに該当するものはありませんでした。
私がすでに試したこと:

  1. session.modified=セッション後に真['final_box']=final_box
  2. app.secret_key はすでに存在していました
  3. 保留中のすべてのリクエストがサーバー側で完了するのを待ちます

解決策への指針や微調整は大歓迎です。

4

1 に答える 1