有没有办法在客户端的angular.js中使用flask.session
访问会话集中的内容?我正在尝试传递数据并存储到来自flask的同一个调用中的会话,并且能够在稍后的流程中从角度读取它。
我没有使用模板系统。对于页面,我只提供索引文件,然后使用Angular完成剩下的工作。这是我对索引文件的调用:
@app.route("/")
def index():
return make_response(open('templates/index.html').read())
答案 0 :(得分:1)
如果您需要在模板中访问它,请在Flask中默认使用模板have access to session
。
<script>
var someConfigurationObject = {
someKey: "{{session["somevalue"]}}",
other: "keys",
"go": "here"
};
</script>
如果您通过ajax电话来回发送数据,您只需将其包含在您的回复中:
return jsonify(data=your_data, session_info=session["special_key"])
答案 1 :(得分:0)
在Angular上提供服务以从您的服务器读取。
app.factory('Session', ['$http', function ($http) {
return {
getSessionData: function (callback) {
$http.get('/_session?key=x').success( function (res) {
callback(res)
})
}
}
}])
从Flask返回值:
@app.route('/_session')
def get_from_session():
key = request.params['key']
return session.get(key)
在Controller中使用它:
app.controller(MainCtrl, ['$scope', 'Session', function ($scope, Session) {
$scope.x = null
Session.get( function (res) {
$scope.x = res
})
}])