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=’/’;
