2015-06-11 15 views
0

我有我接受它通过用户名和密码,从我在我的ExtJS的项目。这里LoginView PARAMS Ajax请求一个servlet是相同的代码:处理“成功”的字符串通过Ajax调用从servlet返回

public class UserLoginController extends MultiActionController { 
OrgTreeService orgTreeService; 

ModelAndView mv; 
public String getLoginStatus(HttpServletRequest paramHttpServletRequest, HttpServletResponse paramHttpServletResponse) 
     throws Exception{ 
    String str1 = paramHttpServletRequest.getParameter("user"); 
    String str2 = paramHttpServletRequest.getParameter("password"); 
    String s=""; 
     System.out.println("---node"+str1); 
     System.out.println("---node"+str2); 
     if(str1.equals("admin") && str2.equals("admin")){ 
      s="success"; 
     }else{ 
      s="failure"; 
     } 


     return s; 
} 

,这是我想提出从我查看Ajax请求:

doLoginClicked : function() { 
    console.log("button pressed this time"); 
    var name = this.view.getUsername(); 
    var pass = this.view.getPassword(); 
    console.log(name); 
    console.log(pass); 

    Ext.Ajax.request({ 
     url: 'login/getLoginStatus.action', 
     method:'post', 
     params: { 
      user: name, 
      password: pass 
      } 
    , 
      success: function(response) { 


       console.log(response); 



       if (response=="success") { 

        // login.close(); 


       } else { 
        console.log("inside failure"); 


        Ext.Msg.show({ 
         title:'Fail!', 
         msg: response, 
         icon: Ext.Msg.ERROR, 
         buttons: Ext.Msg.OK 

        }); 
       } 
      }, 
      failure: function(response) { 
       console.log("inside failure"); 

        Ext.Msg.show({ 
         title:'Error!', 
         msg: response, 
         icon: Ext.Msg.ERROR, 
         buttons: Ext.Msg.OK 
        }); 
       } 
     }); 
    } 

它的确显示从servlet控制台的用户名和密码,但我不能接受“成功”响应从servlet中采取行动,并采取相应的行动。这里是在br中显示的响应owser console:

Object {request: Object, requestId: 1, status: 200, statusText: "OK", responseText: ""…}getAllResponseHeaders:() {arguments: nullcaller: nulllength: 0name: ""prototype: response.getAllResponseHeadersconstructor:() {arguments: nullcaller: nulllength: 0name: ""prototype: response.getAllResponseHeaders__proto__: Empty() {}<function scope>__proto__: Object__proto__: Empty() {}<function scope>getResponseHeader: (header) {request: Objectasync: truebinary: falseheaders: Objectid: 1options: Object__proto__: ObjectrequestId: 1responseText: ""responseXML: nullstatus: 200statusText: "OK"__proto__: Object 

有没有办法让我可以在从servlet返回“成功”时显示主页?

+0

如果您在http客户端(邮递员,卷发,无论)中执行请求,服务器是否会返回您所期望的? – phtrivier

+0

你是否在responseText变量中从servlet获得'success'或'failure'字符串? – qmateub

+0

@phtrivier它从servlet打印时显示在我的IDE控制台成功的消息,现在它显示内部服务器错误500的用户名和密码进行处理 以下是错误后 http://gyazo.com/e889e44dbaf6b6d5f8506ceb61784065 – rawatdeepesh

回答

0

success: function(response)

在上面的代码行中的response是一个对象。你将不得不深入你的对象,例如,response.status == '200'response.responseText == "success"

由于您没有给出确切的答案,我将无法提供确切的代码,但这是问题的症结所在。

+0

Hi Rupesh,它对正确以及不正确的用户名和密码给出了相同的响应。在更改servlet条件后,IDE控制台确实显示它是否成功,但在给出响应时给出错误,这是错误: http://gyazo.com/e889e44dbaf6b6d5f8506ceb61784065 – rawatdeepesh

相关问题