从我的烧瓶模板
<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中处理这些数据而无需重新加载页面。