后端对此AngularJS函数的响应应该是什么?

时间:2016-03-03 11:08:20

标签: javascript angularjs spring spring-mvc

我试图让以下教程从这里模拟登录:http://jasonwatmore.com/post/2014/05/26/AngularJS-Basic-HTTP-Authentication-Example.aspx

这是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?
    }
}

1 个答案:

答案 0 :(得分: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(“响应”,响应);检查从服务器获得的对象。