【发布时间】:2016-05-19 15:00:45
【问题描述】:
如何在 AngularJS 中显示来自服务器的响应数据(获取)
在我的代码中,我需要在该控制器内提醒 $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
}
我如何在成功 fun() 之外访问 $scope.orders 在这里,我两次提醒 $scope.data 在这里显示第一个警报 但是第二次警报没有说明为什么? 如何显示第二个?
【问题讨论】:
-
第一个警报有效但第二个无效的原因是因为第一个警报的执行被延迟到成功履行承诺...这可能需要几毫秒到几秒,具体取决于要求。但是,第二个几乎在控制器实例化后立即执行,因为它在定义承诺处理程序之后立即运行(未执行)。你到底想用这些数据做什么?如果你只是想显示它,那么在你的视图中绑定 $scope.orders,它会在 promise 解析后自动显示。
标签: angularjs scope angularjs-http