Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 是否有更好的方法重定向网站上所有打开的会话?_Javascript_Flask - Fatal编程技术网

Javascript 是否有更好的方法重定向网站上所有打开的会话?

Javascript 是否有更好的方法重定向网站上所有打开的会话?,javascript,flask,Javascript,Flask,我有一个网站使用烧瓶,显示一些数据。有时,正在显示的数据需要刷新,因此我需要重新加载网站以显示503页面,然后在完成后再次重新加载以显示刷新的数据。以下是我现在如何做到这一点的: (相关服务器端python:) @app.route(“/checkifreloading/”) def checkifreloading(): 以open('static/dat.json')作为数据: 尝试: 加载(data.read())#不刷新时,数据将是有效的JSON字符串 返回编码({“code”:200,

我有一个网站使用烧瓶,显示一些数据。有时,正在显示的数据需要刷新,因此我需要重新加载网站以显示503页面,然后在完成后再次重新加载以显示刷新的数据。以下是我现在如何做到这一点的:

(相关服务器端python:)

@app.route(“/checkifreloading/”)
def checkifreloading():
以open('static/dat.json')作为数据:
尝试:
加载(data.read())#不刷新时,数据将是有效的JSON字符串
返回编码({“code”:200,“response”:False})
除JSONDecodeError外:#刷新时,数据将为空
返回编码({“code”:200,“response”:True})
(相关客户端HTML:)


(相关客户端JS:)

tldr:我向端点发送一个GET,如果数据每五秒钟刷新一次,该端点将返回true


这是有问题的,尤其是当你有很多公开的会议时。有没有更好的方法来实现这一点?

使用javascript获取和显示数据的最佳方法是 1.Ajax 2.异步请求 3.服务工人
在一个规模不太大的应用程序上,您可以使用Ajax,
显然,如果要构建更大的项目,请使用Async或Service worker,但在这种情况下,Service worker工作得最好。

Hi Devfernami,这通常是一个很好的建议,但它并不能真正回答问题。。。你能指出其中哪一个更适合这个特殊的情况吗?为什么?
async function getAsync(url) {
    let response = await fetch(url);
    return await response.json();
}

function check_for_refresh() {
    getAsync("../checkifreloading/").then(function(results) {
        if (results['response'] === true) {
            window.location.reload();
        }
    });
}

function load_func() {
    setInterval(check_for_refresh, 5000); // check every five seconds
}