gpt4 book ai didi

javascript - Flask 从 PushState 接收 url 更改

转载 作者:行者123 更新时间:2023-11-28 07:13:56 24 4
gpt4 key购买 nike

我正在尝试将从 window.history.pushState 所做的更改获取到我的 Flask 服务器上。例如,如果我这样做:

window.history.pushState("object or string", "Title", "?firstchange=done");

如何在 flask 中获取“完成”字符串?我在客户端路由下有一个模板,并且我想要一个在可用时获取firstchange查询字符串的函数。

@app.route("/client")
def initial_template():
return render_template('client.html')

@app.route("/client")
def get_change():
print request.args.get('firstchange')

url变为http://127.0.0.1:5000/client?firstchange=done后在其他函数中调用此函数时的返回是“无”而不是“完成”。

编辑:

如何使用

做到这一点
window.location.href('127.0.0.1:5000/client?firstchange=done')

使用相同的 flask 方法,我仍然得到“无”的返回。我可以不使用其他方法中的 get_change 方法来确定查询字符串值吗?

最佳答案

我不确定如何在相同的路由下注册两个方法,但我不认为这是一个好主意以及你的 Flask 服务器的行为方式。因此,请更改您的路线之一。有两种方法可以实现此目的:

1)

@app.route("/client")
def initial_template():
return render_template('client.html')

@app.route("/client_state")
def get_change():
print request.args.get('firstchange')

在这种情况下,您的 JavaScript 重定向代码将如下所示:window.location.href('127.0.0.1:5000/client_state?firstchange=done')

2)

@app.route("/client")
def initial_template():
return render_template('client.html')

@app.route("/client/<state>")
def get_change(state):
print state

在这种情况下,您的 javascript 重定向代码将如下所示:window.location.href('127.0.0.1:5000/client/done')

看看this documentation如有进一步问题。

关于javascript - Flask 从 PushState 接收 url 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31038982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com