如何在AngularJS中显示服务器的响应数据($ http)

时间:2016-02-09 14:59:00

标签: angularjs scope angularjs-http

如何在AngularJS中显示来自服务器的响应数据(get)

在我的代码中,我需要提醒该控制器内的$ scope.orders,但它不会显示..

function OrderController($scope,$http)
{
    var orderPromise = $http.get("../api/order");

    orderPromise.success(function(data, status, headers, config) 
    {
        $scope.orders=data
        alert(JSON.stringify($scope.orders))  // First alert 
    });

    orderPromise.error(function(data, status, headers, config) 
    {
        alert("Error");

    });

    alert(JSON.stringify($scope.orders))    // Second alert 
}

如何在成功之外访问$ scope.orders() 在这里,我两次警告$ scope.data 在这里显示First Alert 但第二次警报没有什么可说明的原因? 如何展示第二个?

1 个答案:

答案 0 :(得分:1)

第二次提醒不会显示,因为当您提醒时,$scope.orders中没有任何内容。这是异步调用的本质,只有当你输入成功/错误部分时,你才能拥有(或不是......)。

在服务器返回您的响应并触发success/error函数之前,由于$scope.orders=data尚未运行,该变量仍未填充。

您应该阅读{{3}}了解更多信息,并深入了解保证如何运作。