Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda