AngularJS + Flask:render_template包含一些数据

时间:2014-07-17 00:04:24

标签: angularjs flask

我正在返回一个模板,其中包含从Flask服务器到angularJS的一些数据。

jsonObject - {“name”:“alan”}

服务器

@app.route("/hello")
    return render_template("hello.html", result=jsonObject)

客户端

maincontroller.js

  var app=angular.module('myApp',[]);
  app.controller("MainController", function($scope,$http){

  var done=function(resp){
    //how to get the response data from server
    $scope.list=?
  };
  var fail=function(err){

  };

  $http.get('http://127.0.0.1:8083/hello')
  .then(done,fail);

});

hello.html的

<body>

 Hello {{list.name}}!!

</body>

如何在服务器中使用render_template获取控制器中的响应对象?

2 个答案:

答案 0 :(得分:0)

你可以将json作为一个解决方案放在页面上

<script>var jsonObject = {{ jsonObject|tojson|safe }}</script>

答案 1 :(得分:0)

我为您提供了解决问题的示例解决方案。您必须了解并且可以解决您的问题

示例数据

{'result':["item1","item2","item3"]}

views.py

from flask import jsonify
@app.route('/s/', methods=('GET',))
def search_query():
   """
    View which is called whenever the '/s/' this url is requested
   """
    return jsonify({'result':["item1","item2","item3"]})

您必须返回json而不是使用render_template

角度互动

$http.get("/s/").then(function(r) {
                    $scope.results = r.data.result;
                    alert(r.data.result); //verify your response data
                    });

您可以使用角度results的{​​{1}}属性进行操作。