2016-03-03 73 views
0

我试图让从这里模拟登录下面的教程工作:http://jasonwatmore.com/post/2014/05/26/AngularJS-Basic-HTTP-Authentication-Example.aspx来自后端的响应应该对这个AngularJS函数有什么影响?

这里是AngularJS代码:

/* Dummy authentication for testing, uses $timeout to simulate api call 
     ----------------------------------------------*/ 
     $timeout(function(){ 
      var response = { success: username === 'test' && password === 'test' }; 
      if(!response.success) { 
       response.message = 'Username or password is incorrect'; 
      } 
      callback(response); 
     }, 1000); 


     /* Use this for real authentication 
     ----------------------------------------------*/ 
     //$http.post('/api/authenticate', { username: username, password: password }) 
     // .success(function (response) { 
     //  callback(response); 
     // }); 

    }; 

我现在想把它从虚拟变成真正的认证。

到目前为止,我有在后端:

@CrossOrigin 
@RequestMapping(value = "/login", method = RequestMethod.POST) 
public String login(@RequestBody Login login) { 
    if (login.username.equals("test") && login.password.equals("test")) { 
     //return what? 
    } else { 
     //return what? 
    } 
} 

回答

0

你回到一个正常的Java对象。该对象应自动以json格式传输,并且您可以使用javascript读取json格式。

例子:

// java 
String name; 
int age; 

// json format 
{"name": "theName", "age": 32}t 

// javascript 
var myObj = { 
    name: "theName", 
    age: 32 
}; 

所以在你的java你回来,你只要你把你的java对象。如果您在网络选项卡中查看浏览器的开发控制台,则应该以json格式查看响应。否则只需$ log.log(“response”,response);检查你从服务器获得什么对象。

+0

我返回了一个用户对象,但仍然不会登录。:/ – AnguLG

相关问题