提问人:Divya MV 提问时间:4/28/2015 最后编辑:Divya MV 更新时间:3/13/2018 访问量:9705
angularjs:timeout 在 POST 请求中不起作用$http
angularjs:timeout not working in $http POST request
问:
我的代码中有以下代码片段,它为请求设置了以毫秒为单位的超时。但即使达到超时,它也不会取消。
var httpURL = {
method : URLobj.method,
url : urlString,
data : data,
withCredentials : true,
headers : URLobj.headers,
timeout:200
};
this.$http(httpURL).success(successFunc).error(errorFunc);
有人可以说明如何使用这个超时参数。我正在使用 v1.2.26。
答:
3赞
Jonathan Smith
4/28/2015
#1
这就是创建具有超时的$http调用的方式
$http({
method: URLobj.method,
url: urlstring,
withCredentials : true,
headers: URLobj.headers,
timeout: 200
}).success(function(data){
// With the data succesfully returned, call our callback
successFunc(data);
}).error(function(){
errorFunc("error");
});
}
});
评论
1赞
Divya MV
4/29/2015
我的一个拦截器覆盖了我设置的值。config.timeout = deferred.promise;
3赞
Joel Hernandez
8/4/2015
为什么这被标记为正确答案?我看到原始代码没有变化,但格式化。
1赞
Divya MV
1/2/2017
#2
我有config.timeout = deferred.promise;在我的一个拦截器中,它覆盖了我设置的值。注释掉它对我有用。
config.timeout = deferred.promise;
评论
0赞
Pandiarajan
2/10/2020
嗨,@Divya MV,你能发布完整的代码吗?我们如何在这里获得配置和延迟对象?
-1赞
Om Shankar
3/13/2018
#3
以下语法将起作用
$http.post(url, parms, {timeout: 60000}).then(function(success){}, function(error){})
评论