![](/img/trans.png)
[英]How to use a html form to send data to javascript to be saved as a variable
[英]How to send variable data form html to flask
我想将可变数据表单 html 发送到烧瓶
这是我的 html js 代码。
我不能以这种方式将可变数据发送到烧瓶。
<script>
var data = "shan";
window.location.href='{{ url_for( "move_forward" , title=data) }}';
</script>
但是当我使用以下方式时,我可以发送它
<script>
window.location.href='{{ url_for( "move_forward" , title="shan") }}';
</script>
但最后我想为变量分配一些值,并将其发送到烧瓶。
我该怎么做
@app.route("/move_forward/<title>", methods=['GET', 'POST'])
def move_forward(title):
print(title)
Jinja 模板(使用{{ ... }}
的部分)不是 JavaScript。
当您调用render_template
, '{{ url_for( "move_forward" , title="shan") }}'
会被替换为'/move_forward/shan'
类的东西,这就是客户端收到的内容。
当您执行'{{ url_for( "move_forward" , title=data) }}'
Flask/Jinja 不知道data
是什么,因为它不与 JavaScript 交互,它只是试图替换一个字符串。
你可以改用 JavaScript 和 Jinja 的混合来让它工作:
<script>
var baseUrl = '{{ url_for("move_forward") }}';
var data = "shan";
window.location.href = baseUrl + "/" + data;
</script>
谢谢@Henry 的回答,我会仔细研究它并进行一些修改以使其正常工作。
在 HTML js 脚本中,我修改如下
var baseUrl = '{{ url_for("move_forward") }}';
var data = "shan";
window.location.href = baseUrl + "?title=" + data;
然后我修改 Flask 代码,如下所示。
@app.route("/move_forward", methods=['GET', 'POST'])
def move_forward():
if request.method == 'GET':
title = request.args.get('title')
现在它完美地工作了。 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.