2015-11-12 45 views
2

簡版如何向AngularJS發送對象數組?

我想知道我怎麼能發送以下對象數組中要的NodeJS應用程序在AngularJS。

var players = 
[ 
    Footer: { username: 'Footer', hp: 200, exp: 1 }, 
    Barter: { username: 'Barter', hp: 200, exp: 1 } 
]; 

我試着用很多方式發送它,但我總是會在AngularJS端收到一個空數組。

擴展問題

在服務器上,我指定新用戶到一個數組players。我想找到通過username作爲數組索引的user object。我已經使用.push方法成功完成了它,但是它沒有提供使用索引訪問它的方法。所以,我開始使用bracket notation創建我的陣列上的對象,後來上,然後訪問使用此:

//players.push(user); //This does work, but won't be indexed. 
var username = user.username; //This is the new user object. 
players[username] = user; //Using bracket notation to create object 

在那之後,我有這個players陣列響應的路線。我已經嘗試了res.send()res.json()。該陣列發送前是console.log(),並沒有問題。但是這個迴應是一個空陣列。

在客戶端,我記錄了res.data,它只記錄了[]

我有點卡在這裏。如果需要的話,我可以在這裏放更多的代碼。或者,您可以使用完整的代碼訪問此GitHub project

+4

他們的語法你的第一個數組是錯的,你不能有數組項的鍵 – mcfedr

+0

謝謝,@ mcfedr。我已經將數組更改爲對象,並且一切正常。只爲了 { }。 – Rodmentou

回答

1

如果players是一個數組,您必須使用索引來填充它而不是username字符串。 JSON.stringify將忽略數組對象上的非整數鍵。