微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – 未从异步http请求填充Angular JS数据

我正在尝试获取一个加载div来显示我的角度模块何时与服务器联系.我正在使用AngularJS 1.0.1和AngularJS Resources 1.0.1扩展 HTMLjquery 1.7.2的功能,以进行一些额外的dom操作和ajax支持.

我已经发现,如果我在async false中运行ajax调用,则不显示加载div,除了Firefox显示但动画gif没有动画.

如果我在async中运行ajax调用,则返回的数据不会加载到已加载模板partial的角度模型变量中.

是否可以获得动画加载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);
        });
    };

希望这可以帮助

– 担

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐