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.
