【问题标题】:Is there a way to call a JavaScript function from flask without any client-side requests? [duplicate]有没有办法在没有任何客户端请求的情况下从烧瓶中调用 JavaScript 函数? [复制]
【发布时间】:2019-11-11 19:58:44
【问题描述】:

我正在使用 Flask 设置 GUI 服务器。我使用一个 API,每当特定 Sqlite3 数据库发生更改时调用一个函数,然后我需要将更改后的值添加到 HTML 页面上的表中。

我尝试过学习 JQuery,但这似乎需要来自客户端的获取请求。我需要将服务器端数据库中添加或更改的所有数据附加到客户端页面上的表中。

<tbody>
    {% for data in table_data %}
        <tr>
            <td>{{ loop.index }}</td>
            <td>{{ data[0] }}</td>
            <td>{{ data[1] }}</td>
            <td>{{ data[2] }}</td>
            </tr>
     {% endfor %}
</tbody>
def get_data(cursor_obj, table_name, previous_data):

    "When called will all the data from the db and will compair it to 
    the old data and return the data to be appended, which I then need 
    to add to the table."

    cursor_obj.execute("SELECT * FROM "+str(table_name))
    data = cursor_obj.fetchall()

    for old in previous_data:
        index = data.index(old)
        data.del(index)

    return data

【问题讨论】:

    标签: javascript python html database flask


    【解决方案1】:

    没有任何客户端请求,这将是复杂的。 sqlite 数据库更改的信息不能只是通过魔法从您的服务器传送到客户端。

    但是,除了从客户端定期轮询服务器以检查信息是否已更改之外,还有其他解决方案:您可以保持从服务器到客户端的连接打开,并在那里推送通知。

    在网络上实现此功能的最简单方法是使用“服务器发送事件”。

    您可以查看How to implement server push in Flask framework?了解更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 2021-12-28
      • 2012-06-19
      • 1970-01-01
      • 2014-05-11
      • 2021-06-15
      相关资源
      最近更新 更多