AngularJS - Как построить URL конечной точки с 2 параметрами - PullRequest
1 голос
/ 05 февраля 2020

Я относительно новичок в AngularJS, и я работал над выполнением следующих действий в рамках Сервиса с фабрикой.

У меня есть следующий вызов в Сервисе:

factory.getUsers = function () {
    var USER_ENDPOINT = '/api/user'
    var deferred = $q.defer();

    $http.get(USER_ENDPOINT).then(
        function (success) {
           var users = success.data.map(function (c) { return { UsertId: c.UserId, UserName: c.UserName }; });
    deferred.resolve(users);
}
    , function (failure) {
        deferred.reject(failure);
      }
);

   return deferred.promise;
};

factory.getLocations = function (userId) {
        var LOCATION_ENDPOINT = '/api/user/' + userId + '/location'
        var deferred = $q.defer();

        $http.get(LOCATION_ENDPOINT).then(
            function (success) {

                var locations = success.data.map(function (c) { return { LocationId: c.LocationId, LocationName: c.LocationName }; });

                deferred.resolve(locations);
            }
            , function (failure) {
                deferred.reject(failure);
            }
        );

        return deferred.promise;
    };

Вот моя проблема. Вызов userId и locationId в нижеприведенной конечной точке возвращает мне userId, но когда он достигает locationId, возвращается «undefined». Когда я вызываю точный путь в браузере, он возвращает правильные данные, основанные на этом пути, но не в рамках описанного ниже подхода.

factory.getService = function (userId, locationId) {
        var SERVICE_ENDPOINT = '/api/user/' + userId + '/location/' + locationId;
        var deferred = $q.defer();

        $http.get(SERVICE_ENDPOINT).then(
            function (success) {

                var services = success.data.map(function (c) { return { ServiceId: c.ServiceId, ServiceName: c.ServiceName }; });

                deferred.resolve(services);
            }
            , function (failure) {
                deferred.reject(failure);
            }
        );

        return deferred.promise;
    };

Если я заменил userId и сначала разместил locationId, который возвращает locationId, но этот время clientId не определено.

Буду признателен за помощь в этом. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...