2016-03-01 19 views
0

Angular相當新穎,多年來一直用於ASP/MVC/C#/ Jquery,這有點像學習曲線。但是,我認爲應該很簡單,而且根據我從其他框架獲得的知識不能按預期工作。使用Angular顯示來自json響應的特定值

所以我有一個GET請求返回這樣數據的API控制器:

{"user":{"FirstName":"John","LastName":"Smith","EmailAddress":"[email protected]"}} 

模塊:

(function() { 
"use strict"; 
//Getting the existing module 
angular.module("appName") 
    .controller("userDataController", function($scope, $http) { 
     $http.get("/api/user") 
      .then(function (response) { 
       //Example response 
       //{"user":{"FirstName":"John","LastName":"Smith","EmailAddress":"[email protected]"}} 
       $scope.userData = response.data; 
      }); 
    }); 
})(); 

如果我輸出在我看來{{userData}}我得到的字符串數據顯示,據我瞭解範圍是給予變量命名。

但是,我似乎不能顯示個人數據,例如:名字。

我已經嘗試過用戶數據對象的ng重複,但是這並沒有做任何事情,我也試過各種事情來顯示名字或EmailAddress,但沒有運氣。我在做一些根本性錯誤?

+0

API是否返回數據的字符串化版本?如果是這樣,請使用'JSON.parse(response.data)' – JanS

回答

1

假設它實際上是一個JSON對象:{{userData.user.FirstName}}

否則:

$scope.userData = angular.fromJson(response.data)

然後你仍然可以使用上面的代碼。

+0

完成了這項工作,謝謝。雖然使用函數angular.fromJson來反序列化要傳回的對象,但是會期望行爲嗎?在任何例子中都沒有看到。猜猜我可能需要實際修復API控制器功能。 – Codesight

+0

只要您的API控制器實際返回一個Object,它確實不需要反序列化。這個字符串在幾乎任何情況下都是無用的,所以不應該發送。 fromJson至少讓你移動,直到它可以修復。 –

+0

現在修復它,所以至少我不必做fromJson函數,並可以使用{{userData.EmailAddress}}感謝澄清,如果我在一開始就做了正確的幫助,將有所幫助。 – Codesight

0

可能是響應是內容類型文本,而不是預期的JSON? 查看響應標題。

+0

響應類型是definetily json。內容類型:應用/ JSON; charset = utf-8 – Codesight