Flask Python,Javascript,Ajax发送接收数据

时间:2018-11-19 17:08:45

标签: javascript python jquery ajax flask

从我的烧瓶模板

<th scope="row"><button onclick ="collapse_data({{list.id}})" id="toogle_{{list.id}}" class="btn btn-primary" type="button" data-toggle="collapse" data-target="#collapseExample{{list.id}}" aria-expanded="false" aria-controls="collapseExample{{list.id}}" data-toogle=false data-list={{list}}>T</button>

我正在引用的edit.js中调用一个Javascript函数,并传递了变量list.id

function collapse_data(list){
     $.ajax({
      data : {list : list},
         type : 'get',
         url : window.location.pathname,
            success: function(response){
            console.log(response);
        },
        error: function(error){
            console.log(error);
        }
        })

如果可能的话,在我的route.py中,处理数据(SQL炼金术)并将其发送回javscript文件。

@bp.route('/customersu/<customername>', methods=['GET', 'POST'])
@login_required
def customersu(customername):
    form=NetworkForm()
    cust = Customer.query.filter_by(name=customername).first_or_404()
    lists=cust.locations
    if form.validate_on_submit():
        location=Location.query.get(form.locid.data)
        networklist= Network(network=form.network.data, name=form.name.data, fromip=form.fromip.data, toip=form.toip.data, gateway=form.gateway.data,subnet=form.subnet.data,cdir=form.cdir.data,vip=form.vip.data)
        location.networks.append(networklist)
        db.session.commit()
        flash(_('Your changes have been saved.'))
        return redirect(url_for('main.customersu',customername=customername))
    if request.args.get('list'): 
        return json.dumps({'id' : '15'});
    return render_template('customersu.html', cust=cust, lists=lists, form=form)

自然,测试数据'id':'15'现在以json的形式发送回去,调试器控制台可以显示它。但是我的问题是,如何在Javscript中处理这些数据而无需重新加载页面。

0 个答案:

没有答案