Html 如何将URL映射到node.js路由

Html 如何将URL映射到node.js路由,html,angularjs,node.js,url,angular-ui-router,Html,Angularjs,Node.js,Url,Angular Ui Router,我使用带有Angular和Node.js的ui路由器作为我的ui服务器,用于对另一台服务器进行API调用。现在,我的浏览器URL(基于下拉选择的动态)没有映射到服务器 例如,当我将用户输入发送到节点时,浏览器URL为“/home?color=Red&&size=Large”。当我在另一个浏览器窗口中复制并粘贴该URL时,我希望颜色和大小下拉列表已经被选择为红色和大,并根据显示的选择从API调用得到结果。我怎样才能做到这一点 我的AngularJS控制器代码: $scope.getResults

我使用带有Angular和Node.js的ui路由器作为我的ui服务器,用于对另一台服务器进行API调用。现在,我的浏览器URL(基于下拉选择的动态)没有映射到服务器

例如,当我将用户输入发送到节点时,浏览器URL为“/home?color=Red&&size=Large”。当我在另一个浏览器窗口中复制并粘贴该URL时,我希望颜色和大小下拉列表已经被选择为红色和大,并根据显示的选择从API调用得到结果。我怎样才能做到这一点

我的AngularJS控制器代码:

$scope.getResults = function() {

    $location.search('color', $scope.myColor);
    $location.search('size', $scope.mySize);

    server.getResults($scope.myColor, $scope.mySize)
    .success(function(data) {
        results = data;
    });
};
上述功能的AngularJS服务:

app.factory('server', ['$http', function($http){
    return { 
        getResults : function(color, size) {
            var req = {};
            req.color = color;
            req.size = size;

            return $http({
                method: 'GET', 
                url: 'results',
                params : req
            });
        }
    }
}]);
角度的ui路由器:

$stateProvider.state('home', {
    url: '/home',
    templateUrl: '/home.html',
    controller: 'MainCtrl',
    reloadOnSearch: false
})
在Node.js中,我的路线如下:

app.get("/results", function (req, res) {

    var api = 'some api call/' + req.query.color + '/' + req.query.size;

    request(api, function (error, response, api) {

        if (!error && response.statusCode == 200) {
            res.json({
                Response: api
            });
        }
    });
});

在代码中,您编写了查询参数,但需要读取它们,请尝试以下操作:

$scope.getResults = function() {

  $scope.myColor = $location.search().color;
  $scope.mySize = $location.search().size;

  server.getResults($scope.myColor, $scope.mySize)
  .success(function(data) {
    results = data;
  });
};

@谢了,德劳诺夫,但还没装订好。执行此操作后,下拉列表仍全部设置为空白,这也会使结果不可见