使用自定义旋转器函数加载数据
Using custom spinner function on loading data
我几周前买了一个模板。
问题是,当服务器返回404或401时,微调器($ionicLoading)永远不会隐藏。
我发现了一个.js文件,如果发生错误或类似的事情,隐藏旋转器称为"spinner.js"
spinner.js
(function() {
'use strict';
angular
.module('restaurant')
.config(function($httpProvider) {
$httpProvider.interceptors.push(function($rootScope, $q) {
return {
request: function(config) {
$rootScope.$broadcast('loading:show');
return config;
},
response: function(response) {
$rootScope.$broadcast('loading:hide');
return response;
},
requestError: function(rejectReason) {
debugger;
$rootScope.$broadcast('loading:hide');
return $q.reject(rejectReason);
}
};
});
})
.run(function($rootScope, $ionicLoading) {
$rootScope.$on('loading:show', function() {
$ionicLoading.show({});
});
$rootScope.$on('loading:hide', function() {
debugger;
$ionicLoading.hide();
});
});
})();
我在这个脚本中放入了一些调试器,但是当我向服务器请求数据时从未调用过。我如何将此脚本集成到我的控制器?还是需要放到app。js中?
谢谢!
您的代码中似乎缺少responseError
。400
和401
从服务器返回的是categorised
作为responseError.
return {
request: function(config) {
$rootScope.$broadcast('loading:show');
return config;
},
response: function(response) {
$rootScope.$broadcast('loading:hide');
return response;
},
requestError: function(rejectReason) {
$rootScope.$broadcast('loading:hide');
return $q.reject(rejectReason);
},
responseError: function(rejectReason) {
$rootScope.$broadcast('loading:hide');
return $q.reject(rejectReason);
}
};
相关文章:
- .replaceWith 无法使用 .click 函数加载另一个值
- 使通过函数加载的JSON可用于其他函数
- 加载 JS 函数加载时出现问题
- jQuery:使用on函数加载插件
- Javascript函数加载(通过引用?)
- Eclipse Phonegap无法使用jquery.load函数加载外部字符串文件
- 如何使用ffi将WinApi函数加载到Node.js中
- 触发函数加载替换模糊()
- 嵌套依赖主干.js具有 require.js 主干的视图.js导致视图作为对象而不是函数加载
- Angular JS ng-click在通过另一个javascript函数加载HTML时不起作用
- 我的jQuery函数加载了一个HTML,但该HTML不会从不同的函数(从flowplayer)加载不同的jQuery选择
- jQuery运行函数加载和键控
- 为什么我不能得到由 .load() 函数加载的 html
- 如何避免 Jquery 函数加载缓慢
- 使用自己的 JavaScript 函数加载地图图块
- 通过 loadURL 函数加载标记图层时更改地图框中的标记颜色
- 错误 JQuery 函数加载图像预览与 Safari 浏览器
- blogger.com 函数加载未捕获引用错误 $ 未定义
- jQuery - 在通过加载函数加载操作页面时在操作页面中设置字段值
- 延迟流星函数加载