2016-04-05 15 views
0

SQLからデータを取得してajax呼び出しに戻るAngularJS関数を呼び出すclickイベントがあります。 私の問題は、event.Hereは私のコードでクリックのみ第二に、NG-繰り返してバインドを取得されたデータであるデータバインドは2回目のクリックイベントでのみ機能します

`

(function (app) { 
    app.controller("OnvioController", function ($scope,$http, OnvioService) { 
     $scope.retData = []; 
     $scope.getResult = function() { 

      var serviceURL =window.location.origin+ '/Datafetching/dataFetch'; 

      $.ajax({ 
       type: "POST", 
       url: serviceURL, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function(data, status) { 
        $scope.retData = data; 
       }, 
       error: function (status) { 

       } 
      }); 
     } 

    }); 
}(angular.module("OnvioModule"))); 

`

+0

あなたは '$ http.get'を試しましたか? –

答えて

3

angularJSに$.ajaxを使用しないでください。

あなたは私が今私の自己それを試していない$http.get

によってこれを行うことができます。あなたのケースではうまくいくはずです。

(function (app) { 
    app.controller("OnvioController", function ($scope,$http, OnvioService) { 
     $scope.retData = []; 
     $scope.getResult = function() { 

      var serviceURL =window.location.origin+ '/Datafetching/dataFetch'; 

      $http.get(serviceURL).success(function(response) { 
       $scope.retData = response; 
      }); 
     } 

    }); 
}(angular.module("OnvioModule"))); 

は詳細

+0

これは動作します:)ありがとう –

+0

素晴らしい...楽しむ:) –

1

使用$ http.postの代わりに、 $ .ajax。

$ .ajaxを使いたい場合は、成功関数に$ scope。$ apply()を追加します。 これは、角度ループをトリガして、彼のコンテキスト外の変化を探索する。これは、$ .ajaxが角度のあるものの外で実行されているためです。

-1

は$スコープを追加ためthisドキュメントを参照してください。$あなたの成功の機能で)(適用されます。

関連する問題