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_deptuser=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_requireddef index(): return render_template(’index.html’)
问题解答
回答1:location.href=’/’;