我试图将window.history.pushState所做的更改放到我的烧瓶服务器上。例如,如果我这样做:
window.history.pushState("object or string", "Title", "?firstchange=done");
我如何完成"完成"烧瓶中的字符串?我在客户端路由下有一个模板,我想要一个在可用时获取firstchange查询字符串的函数。
@app.route("/client")
def initial_template():
return render_template('client.html')
@app.route("/client")
def get_change():
print request.args.get('firstchange')
我在网址更改为http://127.0.0.1:5000/client?firstchange=done后在其他功能中调用此内容时返回的是"无"而不是"完成"。
编辑:
如何使用
执行此操作window.location.href('127.0.0.1:5000/client?firstchange=done')
使用相同的烧瓶方法,我仍然得到"无"的回报。我可以不在其他方法中使用get_change方法来确定查询字符串值吗?
答案 0 :(得分:0)
我不知道你怎么能在相同的路线下注册两种方法,但我认为这不是一个好主意以及你的烧瓶服务器的行为方式。 所以,请改变你的一条路线。 这有两种方法:
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以获取更多问题。