Java web 從資料庫讀取菜單,顯示在jsp中

來源:互聯網
上載者:User
<div class="col-md-2">      <div class="sidebar-nav">        <div class="nav-canvas">          <ul class="nav nav-pills nav-stacked main-menu" id="main_menu">                     </ul>        </div>      </div>    </div>  <script type="text/javascript">  $(function(){ $.ajax({url:'GetMenu',type:'post',dataType:'json',data:{userName:''},async:false,success:function(data){$("#main_menu").empty();$("#main_menu").append("<li class='nav-header'>主菜單</li><li class='accordion'><a class='ajax-link' href='jsp/Mainview.jsp'><svg class='icon' aria-hidden='true'><use xlink:href='#icon-brush_fill'></use></svg><span>首頁</span></a></li>");$.each(data,function(i,val) {         if(val["level"]==1){               var htm="<li class='accordion'><a href='#'>";               htm+="<i class='glyphicon glyphicon-home'></i>"+val['menuName']+"</a>";               htm+="<ul class='nav nav-pills nav-stacked' id="+val['menuId']+">";                                               htm+="</ul></li>";                                  $("#main_menu").append(htm);                 }             });  $.each(data,function(index,value){if(value["level"]==2){                 var ht="<li id="+value['menuId']+"><a href="+value['menuUrl']+" ><i class='glyphicon glyphicon-save'></i>"+value['menuName']+"</a></li>                          $("#"+value['parentId']).append(ht);  }});  }});  });  </script>
在使用$(function(){$.ajax({})})擷取資料時,因為該方法的執行順序是在jsp頁面完全載入後執行的,所以有時候會因為請求的菜單與js檔案的載入順序,導致菜單顯示或點擊時出現問題,解決的方法是:將$.ajax的請求方式由非同步改成同步,即 async:false使得菜單的載入先於相關js。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.