有没有办法flask.session
在客户端从 angular.js 访问会话集中的内容?我正在尝试在来自烧瓶的同一个调用中传递数据并存储到会话,并且能够稍后在流程中从角度读取它。
我没有使用模板系统。对于页面,我只提供索引文件,然后使用 Angular 来完成其余的工作。这是我对索引文件的调用:
@app.route("/")
def index():
return make_response(open('templates/index.html').read())
有没有办法flask.session
在客户端从 angular.js 访问会话集中的内容?我正在尝试在来自烧瓶的同一个调用中传递数据并存储到会话,并且能够稍后在流程中从角度读取它。
我没有使用模板系统。对于页面,我只提供索引文件,然后使用 Angular 来完成其余的工作。这是我对索引文件的调用:
@app.route("/")
def index():
return make_response(open('templates/index.html').read())
如果您需要在模板中访问它,请记住模板在 Flask 中默认具有访问权限session
。
<script>
var someConfigurationObject = {
someKey: "{{session["somevalue"]}}",
other: "keys",
"go": "here"
};
</script>
如果您通过 ajax 调用来回发送数据,您可以简单地将其包含在您的响应中:
return jsonify(data=your_data, session_info=session["special_key"])
在 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)
在控制器中使用它:
app.controller(MainCtrl, ['$scope', 'Session', function ($scope, Session) {
$scope.x = null
Session.get( function (res) {
$scope.x = res
})
}])