未在 angular js promise 中获取状态错误代码

Not getting status error code in angular js promise

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

任何人都知道我是否错误地处理了我的错误函数?我知道为什么会收到错误,但为了更好地处理错误,我想知道状态代码是什么(例如:未找到状态代码 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;
}
}]);

如果您在 URL 中尝试访问的服务器肯定没有响应,通常会抛出该错误。

确保您的系统确实知道 localhost 并且端口 3000 上有 运行 可以 return 给您的客户端的东西。

确保该路由在您的服务器上是已知的 /latest-live 并且在 return 获取任何信息之前它没有崩溃。

我要做的第一件事是检查 URL 是否真的在 returning 东西,当你试图在你的浏览器中调用它时。

更新:状态代码

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

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

此致