angularjs:超时无法在$ http POST请求中工作

时间:2015-04-28 10:26:42

标签: angularjs

我的代码中有以下代码段,它为请求设置了以毫秒为单位的超时。但即使超时已被取消,也不会取消。

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。

service invocation

3 个答案:

答案 0 :(得分:3)

这将是你如何使用超时

创建$ 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 :(得分:0)

我有config.timeout = deferred.promise;在我的一个拦截器中,它已经覆盖了我设置的值。评论它对我有用。

config.timeout = deferred.promise; 

答案 2 :(得分:-1)

以下语法将起作用

$http.post(url, parms, {timeout: 60000}).then(function(success){}, function(error){})