我想在同一reponse.data
的其他地方使用$http.get
的{{1>}( JSON 数据),但是在尝试时:
controller
获取 $http({
method:"post",
url:"php/home/item.php/?proc=3",
data:{
'item_id':json[i].item_id
}
}).then(function (response) {
$scope.data = response.data; // or $rootScope
$scope.data = response.data;
console.log("after get response : "+$scope.data.length);
});
console.log("befor get response : "+$scope.data.length); // undefined
response
答案 0 :(得分:1)
传递给then
的函数是推迟执行的方式,直到收到响应为止。这不仅仅是代码范围或位置问题,而是一个时间问题。您可以从该响应函数中调用其他函数,并传递响应 - 这是您可以从控制器中的其他位置访问响应的唯一方法,并确保您在执行后执行代码已收到回复。