Angularjs - $ http承诺错误处理

时间:2013-10-16 20:27:30

标签: http angularjs error-handling

我遇到了问题。我正在尝试使用.then函数进行$ http调用.sucssess和.error。但是,虽然我将请求的url更改为不存在的url,但它始终执行succes处理程序:

$http.get('data/myjson.json').then(onSuccess, onError);

onSuccess(data){};
onError(data){};

此外,data参数的状态为404,表示失败,但onError从未执行过。

有些人可以解释这是如何起作用的吗?

谢谢!

3 个答案:

答案 0 :(得分:12)

此代码适用于我:

$http.get('data/myjson.json').then(onSuccess, onError);

function onSuccess(data) {
}
function onError(data) {
}

答案 1 :(得分:2)

  $http.get(url).then(onSuccess, onerror);   
   function onSuccess(response) {
    //Success message here...
                                    }
    function onerror(data) {

                if(data.status==404) {
                    alert('Invalid URl')
                            return;
                }

    }

试试这个......

答案 2 :(得分:1)

这两种方式都可以用于ng promise错误处理: -

<强>首先

$http.get('data/myjson.json')
.success( successHandler )
.error( errorHandler )

function successHandler(data) {
}
function errorHandler(data) {
}

<强> 第二

$http.get('data/myjson.json').then(successHandler, errorHandler);

function successHandler(data) {
}
function errorHandler(data) {
}