从多个返回值构建JavaScript选项数组

时间:2017-07-20 15:07:05

标签: javascript arrays sharepoint javascript-objects

我正在尝试构建一个基线JS文件,以包含在我的一些页面中,以便从我的SharePoint站点返回信息。我想对服务器进行以下三次ajax调用:siteGroups,siteRoles和currentUser信息,并构建一个options数组,稍后我可以使用点表示法访问它。 (例如options.siteGroup,options.siteRoles,options.currentUser.UserName等)

var options = (function(){
    var currentUser = (function(){ 
        var userInfo = [];
        function complete(data){
            for(i = 0; i < data.d.Groups.results.length; i++){
                var user = {groupId : data.d.results[i].groupId, groupName : 
           data.d.results[i].groupName, UserName : data.d.UserName, UserId : 
           data.d.UserId};
                UserInfo.push(user);
            }
        };
        getCurrentUser(url, query, complete);
        return userInfo;
    })();
    // Get All Site Permission Groups
    var siteGroups = (function(){
        function complete(data){
            var siteGroups = [];
            for(j = 0; j < data.d.results.length; j++){
                var group = {groupName : data.d.results[j].Title, groupId : 
                            data.d.results[j].Id};
                siteGroups.push(group);
            };
            $('.SiteGroups').append(option);
        };
        getSiteGroups(url, complete);
        return siteGroups;
    })();
    // Get All Role Definitions to be used for role assignment
    var siteRoles = (function(){
        var roles = [];
        function complete(data){
            var option;
            for(s = 0; s < data.d.results.length; s++){
               var role = {roleId : data.d.results[s].Id, roleName : 
               data.d.results[s].Name};
               roles.push(role);
            }
        }
        getRoleDefinitions(url, complete);
        return roles;
    })();
    return {currentUser, siteRoles, siteGroups};
})();

当我在console.log(选项)时;我得到一个具有正确值的数组,但是每个组合(options.currentUser,options.currentUser.userName等)都产生了userName未定义或currentUser [0]无法在位置0找到值。提前感谢帮助!< / p>

http://imgur.com/Ubtb5nD&#34; console.log&#34;

的图片

0 个答案:

没有答案