AJAX 和 Struts 的问题 1
Troubles with AJAX and 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-配置:
<action path="/login" type="com.arquitectos.struts.LoginAction" parameter="login">
<forward name="OK" path="/"/>
</action>
我的登录操作:
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.
中进行比较
我找到了解决方案。我花了一段时间才弄明白。我找错地方了。我不必尝试从转发中获取数据。
一个out.write("OK")
就够了。这就是我的 ajax 请求得到答案的方式。
我是 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-配置:
<action path="/login" type="com.arquitectos.struts.LoginAction" parameter="login">
<forward name="OK" path="/"/>
</action>
我的登录操作:
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.
中进行比较我找到了解决方案。我花了一段时间才弄明白。我找错地方了。我不必尝试从转发中获取数据。
一个out.write("OK")
就够了。这就是我的 ajax 请求得到答案的方式。