Soy nuevo con struts 1 y jQuery. Quiero hacer un inicio de sesión usando una solicitud AJAX. Este es mi Jquery:
$.ajax({ url : "login.do", type: "POST", dataType: "text", data:{ //Got the values before "user" : user, "pass": pass }, success: function(result){ if(result === "OK") window.location = "hello.do"; } });Mi struts-config:
<action path="/login" type="com.arquitectos.struts.LoginAction" parameter="login"> <forward name="OK" path="/"/> </action>Mi acción de inicio de sesión:
public class LoginAction extends MappingDispatchAction{ private final String error = "ERROR"; private final String success = "OK"; private final String session = "SESSION"; private Usuario user = new Usuario(); public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){ response.setContentType("text/texyt; charset = utf-8"); response.setHeader("Cache-Control", "no-cache"); try{ String u = request.getParameter("user"); String p = request.getParameter("pass"); if(u != null && p != null) if(!(u.equals("")) && !(p.equals(""))){ user = TblLogin.Login(u, p); if(user!=null) return mapping.findForward(success); } }catch(Exception ex){ } finally{ } return mapping.findForward(null); }El archivo tbl simplemente ejecuta la consulta y esas cosas ... Ahora, mi duda es: ¿cómo obtiene AJAX el "OK" desde el principio? Cómo obtener esos datos y compararlos en jQuery.
Encontré la solución. Me tomó un tiempo entenderlo. Estaba buscando en el lugar equivocado. No tengo que tratar de obtener datos de los delanteros.
Un out.write("OK") es suficiente. Esa es la forma en que mi solicitud de ajax obtendrá la respuesta.