有时在我的应用程序中,获取列表或某种资源的HTTP调用将失败,没有明显的原因,但是,如果它立即重新启动它将起作用。
有没有办法配置所有HTTP调用来说明
的内容ValueError: could not convert string to float
我在我的应用程序(ASP.NET)中发现,我经常需要双击一个链接来加载页面。我觉得这可能与代码中的HTTP调用问题相同。不确定如何追踪或解除这类问题,如果有人对此有任何想法,你真的会帮助我!
任何建议都会非常感激。
谢谢!
答案 0 :(得分:1)
如果您想在Angular中更改$ http服务的行为,那么有一种方法。 This post describes it briefly,这是帖子中引用的重要内容。:
例如,如果您正在对一个大的进行全球性的后期更改 正在进行的项目,或者想要改变XHR请求的行为 第三方代码无法更改。在这种情况下你 可能会使用$ provide.decorator()来全局替换$ http 包装版。
通过包装$ http服务,您可以选择更改行为。
听起来你有不同的问题,因为你需要两次触发通话,我建议你先解决。
答案 1 :(得分:1)
你可以使用$httpInterceptor
来做,也许上帝解决方案可以解决问题而不是那个,顺便说一下,有一个例子:
this wonderful post maybe help you to understand $http interceptors
(function(window, angular, APP) {
var MAX_ERRORS = 1; // after that: giving up
function FeelAgainConfig($httpProvider) {
$httpProvider.interceptors.push(function FeelAgainInterceptor($q, $http) {
var interceptors = {};
interceptors.responseError = function FeelAgainInterceptorResponseError(data) {
// implement an error counter that helps you to not fall in an infinite call stack
if(data.errorCount >= MAX_ERRORS) {
return $q.reject(data);
};
// Perform the request again;
};
return interceptors;
});
}
APP
.config(FeelAgainConfig)
;
})(window, window.angular, window.angular.module('feelAgain$http', []));