Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用angularjs阅读flask.session_Javascript_Python_Session_Angularjs_Flask - Fatal编程技术网

Javascript 使用angularjs阅读flask.session

Javascript 使用angularjs阅读flask.session,javascript,python,session,angularjs,flask,Javascript,Python,Session,Angularjs,Flask,是否有方法从客户端的angular.js访问会话集为flask.session的内容?我试图在同一个调用中从flask向会话传递数据和存储,并能够在稍后的流中从angular读取数据 我没有使用模板系统。对于页面,我只提供索引文件,然后使用Angular完成其余的工作。这是我对索引文件的调用: @app.route("/") def index(): return make_response(open('templates/index.html').read()) 如果您需要在模板中访

是否有方法从客户端的angular.js访问会话集为
flask.session
的内容?我试图在同一个调用中从flask向会话传递数据和存储,并能够在稍后的流中从angular读取数据

我没有使用模板系统。对于页面,我只提供索引文件,然后使用Angular完成其余的工作。这是我对索引文件的调用:

@app.route("/")
def index():
    return make_response(open('templates/index.html').read())

如果您需要在模板中访问它,请记住默认情况下,Flask中的模板

<script>
var someConfigurationObject = {
    someKey: "{{session["somevalue"]}}",
    other: "keys",
    "go": "here"
};
</script>

在Angular上创建服务以从服务器读取数据

app.factory('Session', ['$http', function ($http) {
  return {
    getSessionData: function (callback) {
      $http.get('/_session?key=x').success( function (res) {
       callback(res)
      })  
    } 
  }   
}])
从烧瓶返回值:

@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
  })
}])

我从来没有渲染过模板。。。我主要使用flask提供索引文件,然后接受api请求。@sir_charles804-我已经用一些附加信息更新了我的答案。为什么不使用
呈现模板
app.controller(MainCtrl, ['$scope', 'Session', function ($scope, Session) {
  $scope.x = null
  Session.get( function (res) {
    $scope.x = res
  })
}])