如何让angularjs绑定失败的请求?

How do i get angularjs to bind on a failed request?

本文关键字:请求 失败 绑定 angularjs      更新时间:2023-09-26

我有一个应用程序,它将angularjs与app-manifest和本地存储结合使用。

下面是我的控制器的代码:
var ErrandListController = function ($scope, $http)
{
    $scope.url = 'Errands/GetErrandList';
    $scope.content = [];
    $scope.fetchContent = function ()
    {
        $http.get($scope.url).then(function (result)
        {
            $scope.content = result.data;
            localStorage.setItem("ErrandList", JSON.stringify(result.data));
        }).catch(function (response)
        {
            $scope.content = localStorage["ErrandList"];
        });
    }
    $scope.fetchContent();
}

当我向服务器发出请求而服务器不可用时,显然没有得到响应,angularjs执行catch-回调,从而从本地存储中获取差事列表并将其放入作用域。

这个可以正常工作,但问题是angularjs似乎在请求失败时就会停止数据绑定。

是否有可能在catch-callback中强制数据绑定,或者设置一个配置标志,告诉angularjs在请求失败的情况下继续数据绑定?或者我的问题还有别的解决办法吗?

问题是我在将对象放入本地存储之前对其进行了字符串化,而在再次检索时没有对其进行解析。我一开始没有找到它的原因是,我试图在没有AngularJS报告错误的情况下访问作用域中不存在的成员。

这个故事的寓意是,在假设数据绑定有问题之前,您应该始终检查作用域中的内容。

如果我没理解错的话

 $http.get($scope.url).then(function (result){}, function (error) {})