我正在使用以下代码获取 json 对象并将其绑定到 $scope
工作代码:
$http({
url: '/Home/GetJson',
method: "GET",
params: {
clientID: cId
}
}).success(function (data) {
$scope.members = data.members;
})
它有效.. 我想做的是将结果放入 avar data
然后将其添加到 $scope。
失败代码:
var data = $http({
url: '/Home/GetJson',
method: "GET",
params: {
clientID: cId
}
}).success(function (data) {
return data.members;
})
$scope.members = data;
当我查看 $scope.members 时,它在失败的代码中是空的,因为 $scope.members 在填充时是空的(js 是基于事件的)。
我怎样才能等到 json 返回 > then var = data > then $scope.members = data ?
工作代码
我使用了如下的Javascript回调函数
调用我的主要功能
DoLogin($scope, $http, email, password, AssingMemberToScope);
function DoLogin($scope, $http, email, password, callback) {
$http({
url: '/Home/GetJson',
method: "GET",
params: {
clientID: cId
}
}).success(function (data) {
callback($scope, data); //<----- Call Back occurs
})
}
//--回调函数工作和代码分离--/
function AssingMemberToScope($scope, data) {
if (data.msg) {
$('.loading').hide();
$scope.member = data.member;
} else {
$('.loading').hide();
$('#msg').show();
}
}