Javascript 在呈现模板之前是否可以将数据传递到烧瓶?
我有一个简单的Flask函数,可以为我呈现页面: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&
@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('/')
的方法来处理它?比如说varmyVar='myRandomVariable';window.location.href=“myRandomVariable”代码>然后用烧瓶处理?myVar
总是不同的,也许我可以301重定向@app.route('/')
到@app.route('/')
,但我想实现它,而不必使用路由欺骗。或者如果你想别的什么,你能给我看看吗?我会写一个答案,因为我想我知道你现在在问什么
// in callback
$('target').val('newval');