Данные Angular JS не заполнены асинхронной HTTP-запросом

StackOverflow https://stackoverflow.com//questions/11673559

Вопрос

Я пытаюсь получить погрузочную div, чтобы показать, когда мой угловой модуль связывается с сервером.Я использую Angularjs 1.0.1 и ресурсы Angularjs 1.0.1, чтобы расширить функциональность HTML и jQuery 1.7.2 для некоторых дополнительных манипуляций DOM и поддержки AJAX.

Я уже выяснил, что загрузка div не покажет, если я запускаю вызов ajax в Async false, кроме Firefox, где он показывает, но анимированный GIF не анимируется.

Если я запускаю Call ajax в async true, данные возвращаются назад, не загружается в угловые переменные модели загруженного шаблона частичного.

Это вообще возможно получить анимированную загрузку div, чтобы показать и получить угловые данные для загрузки в модель?

Это было полезно?

Решение

Надеюсь, я правильно понимаю вас.Вы хотите показать прогресс нагрузки для ваших запросов AJAX.Для этого вам нужен перехватчик ответа.Вот пример того, как сделать это http://jsfiddle.net/zdam/dbr2r/

// register the interceptor as a service, intercepts ALL angular ajax http calls
.factory('myHttpInterceptor', function ($q, $window, $rootScope) {
    return function (promise) {
        $rootScope.nowloading = true; // use ng-show="nowloading" on element containing spinner
        return promise.then(function (response) {
            // do something on success
            $rootScope.nowloading = false; // need to turn it off on success 
            return response;

        }, function (response) {
            // do something on error
            $rootScope.nowloading = false;  // need to turn it off on failure
            $rootScope.network_error = true;   // you might want to show an error icon.
            return $q.reject(response);
        });
    };
.

Надеюсь, это поможет

- Дан

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top