拦截器的定义是在发起请求之前执行的函数,这样理解对吧老师,但是这个请求是指的什么请求呢?
以删除以后立即返回登录页面这一拦截过程为例,拦截函数的具体执行时间是哪一步呢?
1、JS文件执行Ajax请求
ops:function (act, id) {
var callback = {
'ok':function () {
//Ajax调用传递给后端
$.ajax({
url:common_ops.buildUrl('/account/ops'),
type:'POST',
data:{
act:act,
id:id
},
dataType:'json',
success:function (res) {
var callback = null;
if(res.code == 200)
{
callback=function () {
window.location.href = window.location.href;//刷新当前页面
}
}
common_ops.alert(res.msg, callback);
}
})
},
'cancel':null
};
common_ops.confirm((act == "remove" ? "确定删除?":"确定恢复"),callback)
}
};
2、后端进行处理并返回结果
@route_account.route( "/ops" , methods = ["GET", "POST"])
def ops():
resq = {'code': 200, 'msg': '操作成功~~', 'data': {}}
req = request.values
id= req['id'] if 'id' in req else 0
act = req['act'] if 'act' in req else ''
info = User.query.filter_by(uid=id).first()
if not info:
resq['code'] = -1
resq['msg'] = '制定账号不存在~'
return jsonify(resq)
if act == 'remove':
info.status = 0
elif act == 'recover':
info.status = 1
#更新操作事件
info.update_time = getCurrentDate()
#更新数据库
db.session.add(info)
db.session.commit()
return jsonify(resq)