Fair enough.

I'm not a .net dev but maybe this can help you 
http://msdn.microsoft.com/en-us/library/bb412179(v=vs.110).aspx

Sent from my iPhone

> On Oct 20, 2014, at 7:59 AM, Bogdan Ionescu <[email protected]> wrote:
> 
> I'm not experienced in angular and json, so I tried different versions until 
> it's work ....
> 
> 2014-10-20 14:55 GMT+03:00 Raul Vieira <[email protected]>:
>> Why are parsing the data param?
>> 
>> Sent from my iPhone
>> 
>>> On Oct 20, 2014, at 7:52 AM, Bogdan Ionescu <[email protected]> wrote:
>>> 
>>> The content-type is application/json (is default for $http).
>>> 
>>> luni, 20 octombrie 2014, 14:49:10 UTC+3, Raul Vieira a scris:
>>>> 
>>>> You need to convert your response to JSON.  Im not sure how you would do 
>>>> that with .net.  Also, you should send the content-type as 
>>>> application/json in the response header so you don't have to call 
>>>> json.parse.
>>>> 
>>>> Sent from my iPhone
>>>> 
>>>>> On Oct 20, 2014, at 4:01 AM, Bogdan Ionescu <[email protected]> wrote:
>>>>> 
>>>>> I have a SPA project with Mvc and angular.
>>>>> I need to send from server an object (a tree) to an angular controller:
>>>>>     
>>>>>     angular.module('App').
>>>>>   controller('TreeMenuController', ["$scope", "$http", 
>>>>> treeMenuController]);
>>>>> 
>>>>>     function treeMenuController($scope, $http) {
>>>>>   var baseUrl = "Home/GetMetadata";
>>>>>   var params = {};
>>>>>   $http.post(baseUrl, params)
>>>>>           .then(function (data) {
>>>>>                   $scope.roleList = JSON.parse(data);
>>>>>           });
>>>>>     };
>>>>> 
>>>>> roleList must be in format:
>>>>> 
>>>>>     [
>>>>>           {
>>>>>             "roleName": "User", 
>>>>>             "roleId": "role1", 
>>>>>             "children": [
>>>>>                       { 
>>>>>                     "roleName": "subUser1", 
>>>>>                     "roleId": "role11", 
>>>>>                     "children": [] 
>>>>>                 },
>>>>>                       {
>>>>>                     "roleName": "subUser2", 
>>>>>                     "roleId": "role12", 
>>>>>                     "children": [
>>>>>                                   {
>>>>>                             "roleName": "subUser2-1", 
>>>>>                             "roleId": "role121", 
>>>>>                             "children": [
>>>>>                                               { 
>>>>>                                     "roleName": "subUser2-1-1", 
>>>>>                                     "roleId": "role1211", 
>>>>>                                     "children": [] 
>>>>>                                 },
>>>>>                                               { 
>>>>>                                     "roleName": "subUser2-1-2", 
>>>>>                                     "roleId": "role1212", 
>>>>>                                     "children": [] 
>>>>>                                }
>>>>>                                    ]
>>>>>                           }
>>>>>                           ]
>>>>>                   }
>>>>>                   ]
>>>>>           },
>>>>>       { 
>>>>>             "roleName": "Admin", 
>>>>>             "roleId": "role2", 
>>>>>             "children": [] 
>>>>>         },
>>>>>           { 
>>>>>             "roleName": "Guest", 
>>>>>             "roleId": "role3", 
>>>>>             "children": [] 
>>>>>         }
>>>>>   ]
>>>>> 
>>>>> the object to send is a List<TreeMenuItem>:
>>>>> 
>>>>>     public class TreeMenuItem
>>>>>   {
>>>>>           string roleName { get; set; }
>>>>>           string roleId { get; set; }
>>>>>           List<TreeMenuItem> children { get; set; }
>>>>>           public TreeMenuItem(string id, string name, List<TreeMenuItem> 
>>>>> children)
>>>>>           {
>>>>>                   this.roleId = id;
>>>>>                   this.roleName = name;
>>>>>                   this.children = children;
>>>>>           }
>>>>>   }
>>>>> 
>>>>> the Web method (in Home controller):
>>>>>     
>>>>>     [HttpPost]
>>>>>   public List<TreeMenuItem> GetMetadata()
>>>>>           {
>>>>>                   List<TreeMenuItem> itemsMenu = new List<TreeMenuItem>();
>>>>>                   TreeMenuItem dataSource = new TreeMenuItem("1", 
>>>>> "DataSources", null);
>>>>>                   itemsMenu.Add(dataSource);
>>>>>                   return itemsMenu;
>>>>>           }
>>>>> 
>>>>> The object send is not recognised on angular. JSON.parse throw an 
>>>>> exception: Unexpected token S.
>>>>> What I need to do?
>>>>> Thanks.
>>>>> 
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google Groups 
>>>>> "AngularJS" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>>> email to [email protected].
>>>>> To post to this group, send email to [email protected].
>>>>> Visit this group at http://groups.google.com/group/angular.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "AngularJS" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To post to this group, send email to [email protected].
>>> Visit this group at http://groups.google.com/group/angular.
>>> For more options, visit https://groups.google.com/d/optout.
>> 
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "AngularJS" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/angular/6NwbkWQHb8M/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/angular.
>> For more options, visit https://groups.google.com/d/optout.
> 
> 
> 
> -- 
> Bogdan Mihai Ionescu
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "AngularJS" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/angular.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to