2016-04-05 101 views
0

我有一個單擊事件來調用AngularJS函數,該函數從SQL中檢索數據並返回到ajax調用。 我的問題是檢索出只在第二與NG-重複綁定數據點擊event.Here是我的代碼,數據綁定僅適用於第二次單擊事件

`

(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"))); 

參考this文件的詳細信息,

+0

It works :)謝謝 –

+0

很棒...享受:) –

1

使用$ http.post代替$就。

如果您仍想使用$ .ajax,請在您的成功函數中添加一個$ scope。$ apply()。 這將觸發角度循環來搜索他上下文之外的更改。這是因爲$ .ajax在angular stuff之外執行。

-1

添加$範圍。$適用()在你的成功的功能。

相關問題