使用AJAX和Struts 1的麻烦

时间:2017-03-12 22:42:35

标签: javascript java jquery ajax struts-1

我是struts 1和jQuery的新手。 我想使用AJAX请求进行登录。 这是我的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";
            }
        });

我的struts-config:

<action path="/login" type="com.arquitectos.struts.LoginAction" parameter="login">
            <forward name="OK" path="/"/>
        </action>

我的LoginAction:

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);
}

tbl文件只是执行查询和东西...... 现在,我怀疑的是:AJAX如何获得&#34; OK&#34;从前进?如何获取数据并在jQuery中进行比较。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我花了一段时间才搞清楚。我在找错了地方。我不必尝试从前锋获取数据。

out.write("OK")就足够了。这就是我的ajax请求得到答案的方式。