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.