2015-06-03 40 views
1

所有,

我有此JSON對象作爲我的反應

這裏(含對象的數組對象)是我看到的時候我打電話使用Web瀏覽器

{"skillAndAvgCTList":[{"skill":"Notion Count","avgCT":"22.0"},{"skill":"Tube Count","avgCT":"24.0"},{"skill":"2nd Count","avgCT":"26.0"},{"skill":"Shelf Count","avgCT":"20.0"}]} 

但是,當我做到這一點

$http.get("http://localhost:8080/fwms-unknown/svc/usermanage/userManagement").then(function (resp) { 
        console.log('Success', resp.data); 




        this.skillsAndAvgCT = resp.data.skillAndAvgCTList; 
        alert('this.skillsAndAvgCT'+ this.skillsAndAvgCT); 

警報窗口顯示:

this.skillsAndAvgCT[object Object], [object Object], [object Object], [object Object]. 

我想使用ng-repeat並讀取'skill'和'avgCT'。

我該怎麼做?我想我不知何故將錯誤的響應數據存入變量中。

+0

你絕對會因'alert'調試出錯。使用'console'代替 – smnbbrv

+0

'this.skillsAndAvgCT [0] .skill'是否工作? – Bala

+0

執行'console.log()'而不是'alert()'並檢查瀏覽器控制檯的值。 [Chrome的F12](https://developer.chrome。com/devtools/docs/console)和[Ctrl + Shift + J或Cmd + Shift + J](https://developer.mozilla.org/en-US/docs/Tools/Browser_Console) –

回答

0

所以skillAndAvgCTList是你的鑰匙。你可以這樣做與關鍵skillAndAvgCTList(看codepen)顯示它們在數據2 Working codepen 只存儲數據:

<ion-content> 
    <div ng-repeat="d in data2">{{d.skill}}<div> 
</ion-content> 
0

this.skillsAndAvgCT不應該是引號內。

此:

alert(this.skillsAndAvgCT); 

應該給你一樣的:通過像這樣在JS

{"skillAndAvgCTList":[{"skill":"Notion Count","avgCT":"22.0"},{"skill":"Tube Count","avgCT":"24.0"},{"skill":"2nd Count","avgCT":"26.0"},{"skill":"Shelf Count","avgCT":"20.0"}]} 

運行:

for(i = 0; i < this.skillsAvgCT.length; i++) 
{ 
    alert(this.skillsAvgCT[i].skill + " " + this.skillsAvgCT[i].avgCT); 
} 

對於角度,this.SkillsAvgCT增加$ scope,然後在你的html中重複ng。

$scope.skillsAvgCT = this.skillsAvgCT; 

HTML(表):

<tr ng-repeat="s in skillsAvgCT"><td>{{s.skill}}</td></tr>

-1

NG重複確實屬於在html VS你的Javascript。

<div ng-repeat="model in skillsAndAvgCT"> 
    {{model.skill}} - {{model.avgCT}} 
</div> 

或者只是使用你的標準JavaScript技能通過

var obj = {a:1, b:2, c:3}; 
for (var prop in obj) { 
    alert("o." + prop + " = " + obj[prop]); 
} 
+0

我添加它的HTML ​​{{model.skill}} ​​{{model.avgCT}} 但它僅僅是打印{{ model.skill}}和{{model.avgCT}},而不打印實際值。 – JBone

+0

這聽起來像一個範圍問題。看看這個例子http://jsfiddle.net/84q86rx2/ – Bobby

+0

鮑比,謝謝你的代碼片段。我很感激幫助。 – JBone

0

你從服務器獲取的數據是正確的,你保存它correctly.Just使JavaScript的代碼更改爲列表迭代下面

this.skillsAndAvgCT = resp.data; 

然後給顯示在您的相應視圖的使用對象的數據下面的代碼片斷

 <ol> 
     <li ng-repeat="item in skillsAndAvgCT"> 
      <span> skills:{{item.skill}}|AvgCT:{{item.avgCT}}</span> 
     </li> 
    </ol> 
+0

我這樣做了,它按原樣打印{{item.skill}}和{{item.avgCT}}。所以基本上ng-repeat沒有得到值?或者我的$ scope.skillAndAvgCTList沒有獲取值? – JBone

+0

也是你說的this.skillsAndAvgCT = resp.data;但我做了這個.skillsAndAvgCT = resp.data.skillsAndAvgCTList;這不正確嗎? – JBone

+0

如果它的打印{{item.avgCT}}和{{item.skill}}然後檢查角度是否適用於您的應用程序。因爲如果item.skills爲空,那麼角度將只顯示任何空白。檢查瀏覽器控制檯任何有關角度的錯誤。 –