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

199
Vistas
Cómo verificar la disponibilidad del nombre de usuario usando Ajax en Struts 2

Estoy tratando de verificar si el nombre de usuario está disponible o no cuando un usuario intenta crear su cuenta. cuando un usuario escribe su nombre de usuario, debe haber una verificación instantánea de si el nombre de usuario está disponible o no y mostrará un mensaje justo debajo del cuadro de nombre de usuario.

Intenté lograrlo llamando a un Ajax pero no pude entender qué devolver básicamente y cómo funcionará, en realidad soy muy nuevo en Struts 2, puedo verificar el nombre de usuario pero no sabía qué devolver.

Mi llamada Ajax

 <script> $(document).ready(function () { $("input").blur(function () { var input = $(this).val(); alert(input); $.ajax({ url:'checkUsername', method:"POST", data:{username:input}, success:function(data) { if(data!='0'){ $('#availability').html('<span>not available</span>') $('#update').attr("disabled",true); } else{ $('#availability').html('<span>available</span>') $('#update').attr("disabled",false); } } }) }); }); </script>

acción checkUsername

 public String checkUsername() { try { setCtr(admin.checkUsername(username)); if (ctr > 0) { System.out.println(ctr); setNoData(false); } else { setNoData(true); } } catch (Exception e) { e.printStackTrace(); } return "CHECKUSER"; }

método para verificar el nombre de usuario en dao

 public int checkUsername(String username) throws Exception { ResultSet rs = null; Connection con = null; try { con = ConnectionManager.getConnection(); System.out.println(username); String sql = "SELECT * FROM userinfo WHERE username =?"; PreparedStatement ps = con.prepareStatement(sql); ps.setString(1, username); rs = ps.executeQuery(); if (rs.next()) { return 1; } } catch (Exception e) { e.printStackTrace(); } finally { if (con != null) { con.close(); } } return 0; } }

Este método en dao puede verificar el nombre de usuario, pero qué devolver en esos datos ajax que estoy tratando de verificar si las filas> 0 deberían imprimirse no disponibles. ¿Cómo devolver y cómo comprobar?
puntales.xml

 <action name="checkUsername" class="com.redress.actions.AdminAction" method = "checkUsername"> </action>

¿Alguien puede corregirme, cómo lograr esto?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Simplemente devuelva un resultado json . Debe definirlo en la configuración de acción. Ya expliqué cómo puede devolver un resultado json sin struts2-json-plugin . Ahora lo usará para devolver un objeto JSON a la función de devolución de llamada exitosa a través de jQuery ajax.

Primero debe agregarlo a la ruta de compilación del proyecto. Luego haga el paquete de su configuración de acción para extender el paquete json-default . Agregará el tipo de resultado JSON a la configuración de Struts.

Haga que la propiedad noData (lo que sea) a la que desee acceder tenga getter y setter.

Agregue el resultado de tipo JSON a la configuración de la acción.

 <action name="checkUsername" class="com.redress.actions.AdminAction" method get = "checkUsername"> <result type="json"> <param name="root">action</param> </result> </action>

El método de acción debe devolver el código de resultado ActionSupport.SUCCESS .

En la función de devolución de llamada exitosa, debe obtener el objeto JSON que puede verificar

 ActionSupport.Success:function(data){ if(!data.noData){ $('#availability').html('<span>not available</span>'); $('#update').attr("disabled",true); } else{ $('#availability').html('<span>available</span>'); $('#update').attr("disabled",false); } }
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