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] > <javascript:>> 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] <javascript:>. > To post to this group, send email to [email protected] <javascript:> > . > 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.
