浏览器直接调用后端URL而不是UI应用程序URL

时间:2018-08-01 18:42:25

标签: javascript angularjs angular-ui-router

我到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都可以调用后端。

谢谢

0 个答案:

没有答案