0

これまでのところ、Rails アプリケーションで AngularJS モデルをセットアップし、フロントエンドでアクセスするデータを与えることに問題はありません。を使用して、AJAX リクエストからのデータが入力されるように設定しました$http$httpただし、複数の呼び出しのデータを含めるには、このモデルが必要です。これまでに得たコードは次のとおりです。

function DropboxCtrl($scope, $http) {
    var $infiniteLoader = $(".infiniteLoader");
    var theUIDS = $infiniteLoader.attr('data-dropbox-uids').split(',');

    if($infiniteLoader.attr('data-dropbox-uids') != "") {
        var theData = {};

        $.each(theUIDS, function(key) {
            $http({ url: '/dropbox/files/get', method: 'GET', params: { uid: theUIDS[key] }}).success(function(data) {
                theData = data;
            });
        });

        $scope.dropboxes = theData;
    }
}

DropboxCtrlGET 要求を呼び出す必要があるすべての UID を取得することから始まるメソッドがあります。それぞれをループしてから、Javascript オブジェクトを追加dataします。theDataそれぞれの後、ドロップボックスモデルを の値に等しくしますtheData。現在、まったく何も返さず、Javascript エラーも返さないメソッドがあります。私のURLが完全に機能し、実際に次のような1つのAJAXリクエストだけでコードが機能することを確信しています。

$.each(theUIDS, function(key) {
    $http({ url: '/dropbox/files/get', method: 'GET', params: { uid: theUIDS[key] }}).success(function(data) {
        $scope.dropboxes = data;
    });
});

ただし...そのコードブロックは最後のAJAX呼び出しのみを返します。他の呼び出しは上書きされるためです。たぶん、私が見逃しているのは間違った Javascript かもしれませんが、おそらく私が見逃しているのは、物事の「Angular way」を理解していないだけです。私は Javascript と jQuery に熟練していますが、Angular は初めてです。何か助けはありますか?

4

1 に答える 1