每个页面加载重新排列列表的排序顺序

时间:2016-12-09 05:57:41

标签: jquery rest sharepoint lodash office365-restapi

我为sharepoint页面创建了一个自定义顶级菜单。代码如下: 代码基本上是遍历菜单项列表,然后从另一个共享点列表中获取子菜单项,然后我显示菜单。它工作,但每次我加载页面,菜单项总是有一个随机的顺序,我怀疑它是因为我在foreach中使用的ajax调用。但我现在仍然坚持下一步该做什么。

注意:topMenuItems具有正确的排序顺序但是当我显示菜单时,顶部菜单总是随机重新排列。

    _.forEach(topMenuItems, function (menuItem) {

        var subMenuUrl =  //RESTAPI URL
        $.ajax({
            url: subMenuUrl,
            type: "GET",
            headers: {
                "accept": "application/json;odata=verbose",
            },
            success: function (data) {
               var smItems = data.d.results;
                var name = menuItem.MenuTitle;
                var menuId = menuItem.ID;
                var url = menuItem.Navigation_x0020_URL;
                var urlMain = '';

                SubmenuNames = "<ul>";

               _.forEach(smItems, function (subMenuItem) {

                       // code for displaying the menu goes here
               });


            },
            error: function (error) {
                alert(JSON.stringify(error));
            }   
        });
 });    

控制台日志类似于:

topMenu ID项目:1,2,3,4,5,6

但是当我在_.forEach中记录顶部菜单ID时(smItems,function(subMenuItem){

                   // code for displaying the menu goes here
           });

我得到的随机订单如:1,2,5,3,4,6。

0 个答案:

没有答案