没有获得角js承诺中的状态错误代码

时间:2015-11-30 22:02:35

标签: javascript angularjs error-handling deferred

我想知道此函数中错误的状态代码。我目前得到这个:GET http://localhost:3000/latest-live?lu=1448920013000 net :: ERR_EMPTY_RESPONSE

任何人都知道我是否错误地处理了我的错误功能?我知道为什么我收到错误,但为了更好地处理错误,我想知道状态代码是什么(EX:找不到状态代码404)。

app.factory('getSpreadsheetData', ['$q', '$http', function($q, $http) {

return function getData() { 
    var deferred = $q.defer();

    var req = $http({
        url: 'http://localhost:3000/latest-live',
        method: 'GET',
        cache: false
    });

    req.success(function(object) {
        var data = object.data;
        deferred.resolve(data);
    });

    req.error(function(err) {
        deferred.reject(err);
    });

    return deferred.promise;
}
}]);

1 个答案:

答案 0 :(得分:1)

如果您尝试在网址中找到的服务器肯定没有响应,通常会引发错误。

确保您的系统实际知道localhost,并且在端口3000上运行的某些东西可以向您的客户端返回一些内容。

确保您的服务器/latest-live上已知该路由,并且在返回任何信息之前它并未崩溃。

我要做的第一件事就是检查,当您尝试在浏览器中调用URL时,URL是否实际返回。

更新:状态代码

通常状态代码在响应中,因此您可能需要检查errresponse中是否有任何内容,具体取决于调用的函数:

response.status – Number – HTTP status code
response.statusText – String – HTTP status text

祝你好运