Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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_Python_Flask - Fatal编程技术网

Javascript 在呈现模板之前是否可以将数据传递到烧瓶?

Javascript 在呈现模板之前是否可以将数据传递到烧瓶?,javascript,python,flask,Javascript,Python,Flask,我有一个简单的Flask函数,可以为我呈现页面: @app.route('/') def main_page(): return render_template("index.html") 我的问题是,在Flask的主页函数完全呈现之前,是否可以将位于index.html文件中的Javascript函数中的变量传递回Flask的主页函数 这是我的html文件: <head> <title>My Title</title> </head&

我有一个简单的Flask函数,可以为我呈现页面:

@app.route('/')
def main_page():
    return render_template("index.html")
我的问题是,在Flask的
主页
函数完全呈现之前,是否可以将位于
index.html
文件中的Javascript函数中的变量传递回Flask的
主页
函数

这是我的html文件:

<head>
    <title>My Title</title>
</head>
<body>
// HTML content
<script>
firebase.auth().onAuthStateChanged(firebaseUser => {
    if (firebaseUser) {
        var myVar = "content"
    } 
});
</script>
</body>

所以我不想从textfields获取内容,我将通过JS代码接收它。我想加载一次
'/'
路由,并根据
myVar
变量的内容决定将哪些数据传递到Jinja模板。如果这是不可能的,是否有任何技巧或替代技术可以产生几乎相同的结果

如果您正在访问第三方API,并且没有将应用程序中的任何数据保存到数据库中,则无需向flask应用程序发出HTTP请求。该状态可以在客户端处理,只需更新HTMLw/JQuery即可

// in callback
$('target').val('newval');

我认为您必须在状态更改时向端点提交POST请求,并将其传递给template@Adam有趣的是,我用textfields做了这件事,当你有了呈现的页面,你就会得到一个textfield的内容并做一些事情。但无法在页面加载时使其工作。恐怕不可能。我实际上误解了这个问题。我不知道它是在渲染之前,因此在它被送达之前。我想我很好奇为什么不在路由中处理变量,然后将其传递到模板中context@Adam您是否考虑过使用类似于
@app.route('/')
的方法来处理它?比如说var
myVar='myRandomVariable';window.location.href=“myRandomVariable”然后用烧瓶处理?
myVar
总是不同的,也许我可以301重定向
@app.route('/')
@app.route('/')
,但我想实现它,而不必使用路由欺骗。或者如果你想别的什么,你能给我看看吗?我会写一个答案,因为我想我知道你现在在问什么
// in callback
$('target').val('newval');