我不确定我是否正确地提出了我的问题。我根本不确定如何解决这个问题。
我有一个网站load.html
。在这里,我可以使用文本框输入ID,例如123
,页面将显示一些信息(通过从Flask服务器调用AJAX的Javascript函数检索)。
我还有一个网站account.html
。此处显示与帐户关联的所有ID。
我想这样做,如果您点击account.html
中的ID,它会转到load.html
并显示所需信息。
基本上,在我按下链接后,我需要将URL更改为load.html
,然后调用Javascript函数以显示与ID相关的信息。
我最初的想法是在Flask中使用可变路线,例如@app.route('/load/<int:id>')
,而不仅仅是@app.route('/load')
但所有/load
都显示load.html
,而不是实际加载信息。这是在我之前谈到的Javascript函数中完成的。
我不知道该怎么做。有什么想法吗?
如果我需要解释更多,请告诉我。谢谢!
为了更清楚,我可以转到load.html
并从Web控制台调用Javascript函数,它可以正常工作。我只是不确定如何使用Flask中的可变路由(这是正确的方法吗?),因为显示信息取决于一些Javascript来解析Flask返回的数据。
Flask代码加载load.html
@app.route('/load')
def load():
return render_template('load.html')
Flask代码返回信息
@app.route('/retrieve')
def retrieve():
return jsonify({
'in':in(),
'sb':sb(),
'td':td()
})
/retrieve
只返回数据库中的数据结构,然后由Javascript解析并输出到HTML中。现在我考虑一下,我想可变路线必须在检索?现在我正在使用AJAX发送ID,我应该将其更改为/retrieve/<int:id>
吗?但是,我如何从例如/retrieve/5
中检索信息呢?在AJAX中,我可以在成功方法下使用data
,但不能用于简单的网址。
答案 0 :(得分:0)
假设您将数据作为
从浏览器URL传递回检索www.example.com/retrieve?Data=5
你可以得到像
这样的数据值dataValue = request.args.get('Data')
答案 1 :(得分:0)
您可以在网址中指定param,例如/retrieve/<page>
它可以在烧瓶中使用几种方法。
一种方法是
@app.route('/retrieve/', defaults={'page': 0})
@app.route('/retrieve/<page>')
def retrieve():
if page:
#Do page stuff here
return jsonify({
'in':in(),
'sb':sb(),
'td':td()})
另一种方式是
@app.route('/retrieve/<page>')
def retrieve(page=0):
if page:
#Do your page stuff hear
return jsonify({
'in':in(),
'sb':sb(),
'td':td()
})
Note:您也可以将转换器指定为<int:page>