python - flask用ajax做后台登陆交互,验证密码后,如何重新定位到index.html上?

查看:189
本文介绍了python - flask用ajax做后台登陆交互,验证密码后,如何重新定位到index.html上?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

flask用ajax做后台登陆交互,验证密码后,不会重新定向到index上面去。
ajax代码如下:

 $.ajax({
                url:'/login',
                type:'post',
                data:{
                    user:$('#user').val(),
                    password:$('#password').val(),
                },
                beforeSend:function(){
                    $.messager.progress({
                        text:'正在登陆准备中......',
                    });
                },
                success:function(data,response,status){
                    $.messager.progress('close');
                    if (data>0){
                        location.href='/templates/index.html';
                    }else{
                        $.messager.alert('登陆失败!','用户名或密码错误!','warning',function(){
                            $('#password').select();
                        });
                    }
                }
            });

在登陆界面填入账号密码后,post到了login去处理,login代码如下:

def login():
    user1=request.values.get('user')
    password=request.values.get('password')
    if user1:
        mydb=mysql.connector.Connect(database='dh_inf_manage',user='root',password='password')
        mycur=mydb.cursor(dictionary=True)
        query_emp='select * from dic_user where emp_sn=%s'
        mycur.execute(query_emp%user1)
        emp_result=mycur.fetchone()
        if emp_result is not None:
            emp_sn=emp_result['emp_sn']
            emp_name=emp_result['name']
            hashpw=emp_result['password']
            emp_dept=emp_result['emp_dept_sn']
            if check_password_hash(hashpw,password):
                session['emp_dept'] = emp_dept
                user=User()
                login_user(user)
                redirect(url_for('index'))
                return '1'
            else:
                return '0'
        else:
            return '0'
    return render_template('login.html')

index代码:

@app.route('/',methods=['GET', 'POST'])
@login_required
def index():
    return render_template('index.html')

解决方案

location.href='/';

这篇关于python - flask用ajax做后台登陆交互,验证密码后,如何重新定位到index.html上?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆