如何在角度 js $http调用中显示超时错误
How to display timeout error in angular js $http calls?
我正在使用角度js中的$http进行ajax调用。我已经在其中实现了超时。但是我想在连接超时时向用户显示错误消息。以下是代码。
$http({
method: 'POST',
url: 'Link to be called',
data: $.param({
key:Apikey,
id:cpnId
}),
timeout : 5000,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function(result){
alert(result);
}).error(function(data){
alert(data);
});
有什么方法可以在连接超时时显示用户。有什么方法可以在一个地方配置它吗?
如果你想在每个
请求的连接超时时做一些事情,你可以使用拦截器(全局超时参数不起作用):
// loading for each http request
app.config(function ($httpProvider) {
$httpProvider.interceptors.push(function ($rootScope, $q) {
return {
request: function (config) {
config.timeout = 1000;
return config;
},
responseError: function (rejection) {
switch (rejection.status){
case 408 :
console.log('connection timed out');
break;
}
return $q.reject(rejection);
}
}
})
})
试试这个博客页面:http://www.jonhartmann.com/index.cfm/2014/7/23/jsFiddle-Example-Proper-Timeout-Handling-with-AngularJS它有一个完整的角度运行示例,可以解决您的问题。
您可以使用角度拦截器来实现此目的。
$httpProvider.responseInterceptors
.push(['$q', '$injector','$rootScope', function ( $q, $injector,$rootScope) {
return function (promise) {
return promise.then(function (response) {
return response;
}, function (response) {
console.log(response); // response status
return $q.reject(response);
});
};
}]);
}]);
更多信息请参阅此链接
您只需要检查响应状态,就是这样:
}).error(function(data, status, header, config) {
if (status === 408) {
console.log("Error - " + status + ", Response Timeout.");
}
});
对于全局 HTTP 超时,请查看此答案
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- AJAX调用后Php结果未显示
- 是否可以将JXBrowser显示的JS确认对话框的结果返回到调用它的JS部分
- 显示指令时调用指令方法
- 对于Ajax调用,为什么innerHTML没有显示在IE中
- 如何在模式框中显示ajax调用返回的数据
- 显示错误的Ajax调用无法调试
- 从java调用javascript后显示空白页面
- 如何显示由ajax调用运行的PHP文件的echo
- 无法使用.ajax调用显示MVC控制器返回的属性值
- 在表单提交之前,save()内部的方法调用显示模板的返回
- 有没有一种方法可以用jQuery捕获JavaScriptPageMethods调用?(显示加载屏幕)
- 为什么我的jquery调用显示为未定义
- 如何使我在Magento中的JS脚本调用显示在一行中
- JavaScript调用显示隐藏方法
- Grails:通过ajax调用显示新的网页
- 如何使id唯一调用显示隐藏方法上的每个id点击在javascript
- AJAX调用显示响应从php脚本在html
- 如何使用ajax调用显示来自现有url的json数据
- 在Rails 4应用程序中使用Ajax -使用Ajax调用显示下拉选项