2016-03-03 51 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

相關問題