次のコードを使用して json オブジェクトを取得し、それを $scope にバインドしています
作業コード:
$http({
url: '/Home/GetJson',
method: "GET",
params: {
clientID: cId
}
}).success(function (data) {
$scope.members = data.members;
})
それは動作します..私がやりたいことは、結果を取得しvar 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 が > 次に var = data > 次に $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();
}
}