2017-03-12 36 views
0

我是struts 1和jQuery的新手。 我想使用AJAX請求進行登錄。 這是我的Jquery:AJAX和Struts出現問題1

$.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如何從前鋒獲得「OK」?如何獲取數據並在jQuery中進行比較。

回答

0

我找到了解決方案。我花了一段時間才弄明白。我在找錯地方。我不必嘗試從前鋒獲取數據。

A out.write("OK")就夠了。這就是我的ajax請求會得到答案的方式。