我相信一個類似的問題已經被提出並回答了很多次,但我想我並沒有正確地描述這個問題,因爲我還沒有找到任何對我有用的答案。如何訪問JSON對象的動態屬性? (Node.js)
我使用節點發送一個API請求,並正在返回數據到我的角度的應用,因爲這樣:
app.get('/personInfo/:personName', function(req,res){
Module.Person.getByName(req.params.personName)
.then(function (person) {
res.json(person);
});
});
該應用涵蓋的反應,通過憑藉以下腳本的:
$scope.submit = function(){
$http.get('/personInfo/' + $scope.person.name).success(function(response){
console.log(response);
});
};
($ scope.person鏈接到一些領域我的.html文件,它似乎正常工作)
我得到這個回(假設我通過$ scope.person.name通過約翰尼)
johnny:Object
__proto__:Object
第一個對象包含我想要的數據...所以我無法直接訪問它的屬性。
我不能在此進行一個簡單的response.id, response.name, response.profileIconId
等......我在訪問它是這樣的:
response.johnny.property
......這,顯然...
上午什麼我做錯了?是否可以使用某種形式的格式化或解析,無論是在服務器級別還是客戶端級別,都可以直接訪問對象的屬性,而無需指定動態父級?所以我需要做的人 -
'$ http.get( '/ personInfo /' + $ scope.person.name)'是危險的,因爲它的風險錯亂當人名包含URL特殊字符時,請求(最好)或注入攻擊(最壞)。 **始終**正確編碼數據。在這種情況下,使用'encodeURIComponentI()'。 – Tomalak
encodeURIComponent()?爲了保持簡單,我在這些腳本中改變了很多東西。但我以前不知道這一點,我很欣賞它。 –
檢查服務器端代碼,看看'person'對象是否包含類似'johny:{...}'的東西。這可能是你得到回覆的原因 –