我到Angular时只有3周大,所以对其工作方式有些困惑。 设置:我们有1个容器运行2个应用程序(UI和后端),UI在8080上运行,后端在8181上运行。
问题:当我们在登录页面上提交凭据时,浏览器正在直接调用后端以检查用户是否存在。我通过查看浏览器开发人员工具中的网络调用来对此进行跟踪。不确定框架如何工作,但不确定浏览器如何直接调用后端而不是UI应用程序。随着应用程序的成熟,后端端口甚至不会对外开放。
详细信息-我正在实现一个登录页面-基本上,它会调用UI应用程序来呈现login.html,并且一旦用户使用用户ID和密码提交页面后,该应用程序就会显示;它进入控制器,该控制器进行API调用以检查用户是否存在于数据库中
浏览器(ClientUIIP:8080)->用户界面->后端(检查用户是否存在)
我有一个带有以下代码的controller.js
var serverPath = 'http://localhost:8181/backend'
//Backend API URL's
var users = '/users';
<code>
function LoginCtrl($scope, $state, $http, $rootScope){
this.cancel = $scope.$dismiss;
$scope.showLogin = true;
$scope.message = "";
this.submit = function(username, email){
$http.get(serverPath + users + "/" + username)
.success(function(response){
if(response.name === username){
$scope.currentUser = username;
window.localStorage.setItem('CurrentUser', JSON.stringify(username));
$scope.showLogin = false;
return $state.go('index.main')
}else{
$scope.message = "Login not valid, please try again";
}
});
};
this.logout = function () {
window.localStorage.setItem('CurrentUser', null);
$scope.currentUser = null;
return $state.go('index.login')
};
if(getCurrentUser() != null){
$scope.showLogin = false;
}
};
请让我知道是否有人需要更改什么,以便浏览器调用UI,然后,如果用户存在或不存在,UI都可以调用后端。
谢谢