2013-07-17 4 views
0

Я изучаю Angularjs и пытаюсь реализовать его в своем приложении MVC MVC в первый раз.Как отображать данные json в поле зрения с помощью Angular

Я не могу получить данные в формате JSON вернулся из моего контроллера для отображения на мой взгляд, который использует Угловое/Бритва для целей данных

В моей C# контроллер я возвращать данные JSON в мой кофе сумы/JS

public ActionResult Load (string id){ 
//data retrieved from model and formatted in json here 
return Json(jsonData ,JsonRequestBehavior.AllowGet); 

в Мой кофе сценарий у меня есть:

define ['test'], (app) -> 
    ($scope, $http, $location) -> 
     $scope.vData = (id) -> 
      $.ajax 
       url: 'Mobile/Load?id=1237' 
      .done (response) -> 
       alert response 
       $scope.vdata = [response] 
       $scope.$apply() unless $scope.$$phase 

Когда я запускаю приложение имеет вид кнопки тревоги, который я использовал для тестирования Если я могу видеть данные из й ответ по электронной JSON:

В бдительные приведены данные в следующем формате:

{ 
    "versions":{ 
     "is_live":"true", 
     "type":"multiple", 
     "rendition":{ 
     "@name":"My Test", 
     "@url":"http://test.net/location/test.m3u8", 
     "@thumbnail":"http:// test.net/location/testimg/cam.png", 
     "@thumbnail_update_interval":"10" 
     } 
    } 
} 

На мой взгляд, я пытался получить данные в этикетку несколькими способами, но неудачно:

<label>{{vdata.is_live}}</label> 
<label>{{vdata.versions.is_live}}</label> 
<label>{{is_live}}</label> 

При отладке в моем браузере я заметил, что данные json находятся в строковом формате, а не в объекте.

Возможно, это проблема?

Может кто-нибудь, пожалуйста, помогите мне отобразить данные на моем представлении из данных json, используя Angular?

ответ

2

Я изменю две вещи. Первый, если данные json находятся в строчном формате, вы должны проанализировать его с помощью JSON.parse (jsondata), когда вы получаете данные на клиенте.

Я не знаю, кофе сценарий, но я добавлю, что не хватает, используя JavaScript, чтобы показать вам, что я изменю:

define ['test'], (app) -> 
    ($scope, $http, $location) -> 
     $scope.vData = (id) -> 
      $.ajax 
       url: 'Mobile/Load?id=1237' 
      .done (response) -> 
       alert response 
       $scope.vdata = JSON.parse([response]) 
       $scope.$apply() unless $scope.$$phase 

, а затем попробовать:

<label>{{vdata.versions.is_live}}</label> 

Пусть я знаю, если это сработает!

+0

Я пробовал это раньше. Я изменил вопрос, чтобы показать, что я пробовал, что – Milligran

+0

json.parse работал – Milligran

Смежные вопросы