html每秒向Flask服务器发送get()请求

时间:2017-03-23 19:04:34

标签: javascript angularjs

如何让html页面每秒向服务器发送一个get()请求,以便更新数据。我曾尝试将角度j用于时钟/计时器部分,但没有成功。当收到“GET”请求时,服务器将返回一个随机整数到index.html页面。 Javascript部分每秒向服务器发送一个GET请求。但是,我无法看到每秒更新的数字。

   Vegetables |  Type     |Quantity|
    Cheap     |  Onion    |   20   |
    Cheap     |  Potato   |   30   |
    Cheap     |  Tomato   |   40   |
    Mid       |  Cabbage  |   20   |
    Mid       |  Carrot   |   30   |
    Mid       |Cauliflower|   40   |
    Mid       |  Eggplant |   30   |

的index.html

from flask import Flask, render_template, request
import numpy as np
app = Flask(__name__)

@app.route('/db', methods = ['Get'])
def hello():
    return render_template('index.html', data = np.random.randint(1,10))

if __name__ == '__main__':
    app.run()

myController.js

<html np-app='myApp'>
    <head>
        <script src="/Scripts/angular.min.js"></script>
        <script src="/Scripts/myController.js"></script>
    </head>

    <body np-controller='myController'>
        {{ data }}  
    </body> 

</html>

更新: 我根据inf1n1te的信息重写了myController.js文件。但我一定做错了,所以它不起作用:

myApp = angular.module('myApp', []);

myApp.controller('myController', function getStuff($http, $timeout) {
       $http.get().success(function() {
       $timeout(getStuff, 1000);
       });
});

1 个答案:

答案 0 :(得分:0)

使用$ interval(getStuff,1000)代替。 angular doc

最好的方法是在这里使用websocket。