2016-12-21 25 views
1

我在控制器中獲取數據如下 $ scope.healthData = []; //聲明一個空數組需要顯示我的表中的angularjs數據

  $scope.init = function(){ 
       console.log("before function"); 
       $http({ 
         method: 'GET', 
         url: '' 
        }).then(function successCallback(response) { 

         $scope.healthData = angular.toJson(response.data); 

        }, function errorCallback(response) { 
         alert("Trouble grabbing requested data.") 
        }); 

        } 

,我試圖在下文我的JSP頁面來顯示我的數據: {{x.name}}

<td>{{ x.componentStatus }}</td> 

但我得到以下錯誤在控制檯: 錯誤:[ngRepeat:愚弄] http://errors.angularjs.org/1.5.8/ngRepeat/dupes?p0=x%20in%20healthData&p1=string%3A%22&p2=%22 在angular.min.js:6

at XMLHttpRequest.t.onload (angular.min.js:103) 

誰能幫我?

+2

請按照[白兔](https://docs.angularjs.org/error/ngRepeat/dupes?p0=x%20in%20healthData&p1=string:%22&p2=%22) –

+0

您在模型中有重複項'試圖綁定,而你沒有正確管理它們。關於這個話題有很多信息。只要搜索錯誤。 –

+0

試過這個。沒有運氣。錯誤消失了,但是數據沒有顯示 – rashmy

回答

0

首先他們不需要將數據解析爲json。默認情況下,角度只會將數據視爲Json。

所以,只要刪除數據的

$scope.healthData = response.data; 

JSON解析。

通過看到錯誤..我覺得是..該數組包含重複的值。如果使用trackbyng-repeat中使用其他字段作爲密鑰。

粘貼從ng-repeatArray的完整代碼,以得到確切的問題。

+0

是的謝謝,我現在可以打印我的數據。再次,我使用c3圖來顯示相同​​的數據。但是我的json數據在 – rashmy

+0

之外不可用,使用'$ scope.healthData'並將圖表代碼寫入控制器iteself中。變量將不能在控制器外部訪問。 –

+0

是的,我的控制器範圍在那裏,直到js文件結束。當我只是退出HTTP方法,當我警覺,我沒有得到$ scope.healthData – rashmy

0

您的數據對象的副本(內容相同)添加到NG-重複track by $index或在您的NG-重複添加track by record.id

+0

謝謝,我的問題現在得到解決 – rashmy

1

只需添加一行

ng-repeat="data in dataset track by $index" 

此錯誤出現時你的數據集中有重複的值。

相關問題