我如何更改页面并用烧瓶调用某些JavaScript功能



我不确定我是否正确地措辞我的问题。我实际上根本不确定该怎么做。

我有一个网站load.html。在这里,我可以使用文本框输入ID,例如123,并且该页面将显示一些信息(通过javascript函数检索,从烧瓶服务器调用AJAX)。

我也有一个网站account.html。在这里,它显示了与帐户关联的所有ID。我想这样做,因此,如果您单击account.html中的ID,它将转到load.html并显示所需的信息。

基本上,按下链接后,我需要将URL更改为load.html,然后调用JavaScript函数以显示与ID相关联的信息。

我的原始想法是在烧瓶中使用变量路线,例如@app.route('/load/<int:id>'),而不是简单的@app.route('/load')

但是,所有/load的功能都是显示load.html,实际上没有加载信息。这是在我之前谈论的JavaScript函数中完成的。

我不确定该怎么做。有什么想法吗?

如果我需要解释更多,请告诉我。谢谢!

为了更清楚,我可以转到load.html并从Web控制台调用JavaScript函数,并且可以正常工作。我只是不确定如何使用烧瓶中的变量路线(是正确的方式?),因为显示信息取决于某些JavaScript以解析烧瓶返回的数据。

烧瓶代码加载load.html

@app.route('/load')
def load():
    return render_template('load.html')

烧瓶代码返回信息

@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,但不能用于简单的网址。

如果将数据传递到浏览器URL中为

,则假设
www.example.com/retrieve?Data=5

您可以像

一样获得数据值
dataValue = request.args.get('Data')

您可以在URL中指定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()
    })

注意:您也可以像<int:page>

那样指定转换器

最新更新