Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

286
Views
la página no se muestra después de la solicitud de publicación de ajaxtowards matraz

Estoy usando FLASK + Ajax para crear una página de inicio de sesión. Debería redirigir a otra página en caso de que el nombre de usuario y la contraseña sean correctos.

Hice un formulario. y la solicitud está pasando con éxito. y puedo capturar los datos en python (frasco). pero mi problema es que no se produce ningún redireccionamiento después de renderizar la página. con render_template

Aquí está para redirigir a la página de inicio de sesión al solicitar la URL raíz

 @app.route('/') def OperationPage(): log_screenprint('User Has Requested / URL >> Redirect to /login') return redirect(url_for('page_login'))

Y esta es la función que verifica el nombre de usuario y la contraseña. entonces debería redirigir a la página siguiente

 @app.route('/login' , methods=["POST","GET"]) def page_login() : log_screenprint('Got Request From GUI User to login With Cred.') for key,value in securityFile.items() : dbUser = securityFile[key]['username'] dbpass = securityFile[key]['defaultpass'] username = request.form.get('username') password = request.form.get('password') sessionId = request.form.get('session') if dbUser == username : if dbpass == password : socketio.emit('userDb' , json.dumps(securityFile[key]) , session = sessionId) return render_template('/index.html' , title= 'Home Page') return render_template('/login.html')

y esta es la solicitud que estoy usando en javascript.

 $('#login-form').submit(function (e) { e.preventDefault(); var username = document.querySelector('.login-username').value var password = document.querySelector('.login-password').value $.ajax({ url: '/login', data: { username: username, password: password, session : (socket.id), }, type: 'POST', success: function (response) { console.log('response'); }, error: function (error) { console.log(error); } }); });

El tema vuelve a ser eso. incluso el nombre de usuario y la contraseña correctos. el index.html no se está representando

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Mientras usa ajax, está a cargo de qué hacer con la respuesta del servidor. La respuesta devuelta por el servidor es una página web html (index.html) que debe mostrar al usuario. En su caso, solo está imprimiendo la palabra 'respuesta' en la consola de la página web:

 success: function (response) { console.log('response'); },

Sugiero hacerlo de otra manera. Yo crearía otra ruta:

 @app.route('/index') def index(): return render_template('/index.html' , title= 'Home Page')

y redirigió al usuario cuando la respuesta del servidor fuera exitosa.

 success: function (response) { window.location.replace('index') },

También necesita algunos cambios para la función de autenticación, ya que su servidor devuelve un código http exitoso cada vez. Puedes usar algo como:

 return "", 200

para un inicio de sesión exitoso, y

 return "", 401

por fallido.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!