拦截器到底什么时候执行拦截

来源:7-10 登录和版本号优化、访问记录、错误记录和总结

就叫校长吧

2019-10-24

拦截器的定义是在发起请求之前执行的函数,这样理解对吧老师,但是这个请求是指的什么请求呢?

以删除以后立即返回登录页面这一拦截过程为例,拦截函数的具体执行时间是哪一步呢?
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)
写回答

2回答

编程浪子

2019-10-25

你好

首先你的明白拦截器是来做什么的?拦截器只做公共的功能


你什么删除都是这个属于业务功能,和拦截器半毛钱关系都没有,我们本次课程使用拦截器主要就是用于判断登录

0
2
编程浪子
回复
就叫校长吧
flask 框架自动触发 before_request 的装饰器的函数
2019-10-29
共2条回复

编程浪子

2019-10-24

你好

所有的http请求

0
2
就叫校长吧
其实我就想理一下这个思路,针对删除账户而言,具体拦截的是哪一段代码?
2019-10-25
共2条回复

Python Flask构建微信小程序订餐系统(可用于毕设)

微信小程序 + Python Flask 打造订餐系统全栈应用,可用于毕设。

1709 学习 · 1889 问题

查看课程