2015-12-02 92 views
-1

我有一個讀取Javascript對象數組值的應用程序。我想將一些JSON放入該對象數組中,但我不確定是否正確處理它。將JSON結果放入Javascript對象

The JSON that I am using

JavaScript對象數組:

$scope.tijdvakken = [{ 
     begintijd: '', 
     eindtijd: '' 
}] 

我檢索JSON具有的函數,並且將它傳遞給HTML作爲tijdvak如下所示:

<div id="tijdvakken" ng-repeat="tvak in tijdvak"> 
     <p ng-model="tijdvakken.begintijd">{{ tvak.begintijd }}</p> 
     <p ng-model="tijdvakken.eindtijd">{{ tvak.eindtijd }}</p> 
</div> 

我可以看到我的網頁上的結果,但他們沒有被放入對象。我在這裏做錯了什麼,可能會有更簡單的方法將結果放入沒有HTML的對象中?

編輯:

我的功能檢索JSON數據:

afsprakenService.getObject = function (link){ 
    return $http.get(tijdvakkenmockup); 
}; 


$scope.getTijdvak = function() { 
        afsprakenService.getObject() 
         .success(function(tijdvak) { 

          $rootScope.tijdvak = tijdvak; 
          $rootScope.alerts.push({ 
           type: 'success', 
           msg: 'Retrieved' 
          }); 
         }) 
         .error(function(error) { 
          $rootScope.alerts.push({ 
           type: 'danger', 
           msg: 'Error retrieving! ' + error.message 
          }); 
         }); 
       }; 
+0

不,我想每一個JSON對象添加爲$範圍內一個新的JavaScript對象。 tijdvakken,所以我會有一個對象數組。 –

+0

你在哪裏推送數組中的'json'數據? – Vineet

+0

歡迎來到計算器。你使用Angular的'$ http'服務嗎?請爲你的AJAX呼叫顯示回調,否則診斷你的問題是一個占卜行使。 –

回答

0

其實我不認爲你在這裏有問題,你已經把響應數據放入rootScope.tijdvak。但我也建議你使用$ scope而不是$ rootScope。

$scope.tijdvakken = tijdvak; 

可以使用的console.log 成功函數裏面看到JSON對象的值

console.log('tijdvak', $scope.tijdvakken); 
+0

是的。我記錄了JSON對象,將它綁定到了我的HTML,我的頁面顯示了所有結果。然後我登錄$ scope.tijdvakken,但它是空的。 –

+0

您是否在成功功能內登錄過它?這是一個承諾,所以你需要登錄功能。 –

+0

在我的頁面上顯示JSON結果的事實並不意味着JSON數據已被綁定到tijdvak?問題在於數據並沒有被綁定到tijdvakken。我不確定,但我認爲我需要以某種方式將數據推入對象,因爲它不會自動綁定它(糾正我,如果我在這方面是錯誤的?)。 –

1

<p>元素上,則不應使用ng-modelng-model僅適用於表單元素。如<input>,<select><textarea>

您可能想用ng-bind代替。

而且在$範圍內使用tijdvakken但HTML是tijdvak在通過你的JSON數據ng-repeat="tvak in tijdvak"

0

循環(這是一個對象數組太)和array.push他們到新陣列。或者,您可以將您的JSON指向您的新陣列。

for (var i = 0; i < $scope.tijdvak.length; i++){ 

    $scope.tijdvakken.push($scope.tijdvak[i]); 

} 
+0

這工作!謝謝! –

+0

你爲什麼要進入我的頁面並且對我提出的每個問題都進行了低調處理?我首先接受了你的答案,但PanGa向我展示了一個替代方案。我會向你報告濫用情況。 –

+0

您的「問題」對我來說看起來很好.... http://stackoverflow.com/users/5589905/lok-kwan-foo – xeon48