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

Javascript 浏览器直接调用后端URL而不是UI应用程序URL,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我已经3周大了,所以对它的工作原理有点困惑。 设置:我们有1个容器运行2个应用程序(UI和后端),UI在8080上运行,后端在8181上运行 问题:当我们在登录页面上提交凭据时,浏览器会直接呼叫后端以检查用户是否存在。通过查看浏览器开发工具中的网络调用,我找到了这一点。不确定框架如何工作,但浏览器如何直接调用后端而不是UI应用程序。随着应用程序的成熟,后端端口甚至不会对外部通信开放 详细信息-我正在实现一个登录页面-它基本上调用UI应用程序来呈现login.html,一旦用户提交了带有用户ID和

我已经3周大了,所以对它的工作原理有点困惑。 设置:我们有1个容器运行2个应用程序(UI和后端),UI在8080上运行,后端在8181上运行

问题:当我们在登录页面上提交凭据时,浏览器会直接呼叫后端以检查用户是否存在。通过查看浏览器开发工具中的网络调用,我找到了这一点。不确定框架如何工作,但浏览器如何直接调用后端而不是UI应用程序。随着应用程序的成熟,后端端口甚至不会对外部通信开放

详细信息-我正在实现一个登录页面-它基本上调用UI应用程序来呈现login.html,一旦用户提交了带有用户ID和密码的页面;它转到控制器,该控制器发出API调用,以检查用户是否存在于数据库中

浏览器(ClientUIIP:8080)-->UI-->后端(检查用户是否存在)

我有一个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可以调用后端(如果用户存在或不存在)


谢谢你

Hmm。你的应用程序正在调用后端服务器,因为当你提供带有后端URL(
localhost:8181/backend
)@Pop-A-Stash的
$http.get
方法时,你明确告诉它要调用后端服务器。很抱歉,该后端URL用于UI应用程序与后端应用程序通信。出于某种原因,它直接从浏览器中获取并调用它,而不是通过UI应用程序。你所说的毫无意义。如果在浏览器中加载上述代码,它将直接调用
localhost:8181
。唯一的改变方法就是改变URL。如果您想通过
$http
调用调用“UI-App”,则必须创建URL
localhost:8080
,如果您向我们展示浏览器开发人员工具中显示的请求/响应的详细信息,可能会有所帮助。另外,请告诉我们请求/响应与您的期望有何不同