如何在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 但第二次警报没有什么可说明的原因? 如何展示第二个?
答案 0 :(得分:1)
第二次提醒不会显示,因为当您提醒时,$scope.orders
中没有任何内容。这是异步调用的本质,只有当你输入成功/错误部分时,你才能拥有(或不是......)。
在服务器返回您的响应并触发success/error
函数之前,由于$scope.orders=data
尚未运行,该变量仍未填充。
您应该阅读{{3}}了解更多信息,并深入了解保证如何运作。