从ajax维护python flask会话

2024-04-25 08:50:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的程序中使用flask会话来维护所有的动态信息。在

from flask import Flask,make_response,render_template, request, jsonify,json,jsonify,send_from_directory,session
from flask.ext.cors import CORS, cross_origin
import requests


app = Flask(__name__)
app.secret_key='test'  
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'


@app.route('/getAnswer')    
@cross_origin() 
def getAnswer():
    userQuery = request.args.get("query") 


    session['username']="testuser"
    session['userid']="Utkj3YC"
    reply=askquestion(userQuery,session)
    print "giving response : ",str(reply)
    answer=str(reply)

    return jsonify(response=answer,id="1",status="suc",dialog="initial")

if __name__ == '__main__':
    app.run(host='0.0.0.0',processes=True,debug=True,port=8000)

这是我的烧瓶服务,当我从postman restclient测试相同的服务时,这个服务工作得很好。postman请求维护相同的会话变量。在

enter image description here

问题是当我把这个服务与我的UI集成时。ajax请求每次都会重置flask session变量,因为这个变量我无法维护会话。 我的ajax调用如下

^{pr2}$

我还尝试在ajax请求中添加这个。在

xhrFields: {
  withCredentials: true
  }

但问题依然存在。每次在烧瓶中创建新会话时。但是当我处理POSTMAN时,同样的代码是持久化相同的会话。为了使ajax调用在每个请求中都保持相同的会话,我需要做什么更改?在


Tags: fromimportappflaskresponserequestsessionajax