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 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.
