
이렇게 하면 ~~~.cafe24.com/hi/jQuery.html 로 가능! ( /jq_1118/ 안껴도 됨 )
파일질라 ftp에도 hi 폴더 생김! (바탕화면에서 드래그n드롭 할 필요 없음!)
맨 첨에 서버-내컴 이렇게 연결하고, 그후 uploadOnSave false + 파일질라 업로드 쓰면 되겠다.

내주소/ajaxPage/data/db.json

11/24 평가에서는





제대로 들어갔는지 console.log(naviData) 해보기

HTML 에밋 짜기

오후 실습

+) each에서 각 item 이란?

결과물

HTML
<body>
<header id="hd" class="d-flex">
<div class="container d-flex justify-content-between align-items-center">
<h1><img src="./LOGO_2.svg" alt=""></h1>
<ul id="gnb" class="d-flex">
<!-- li each -->
</ul>
<ul id="utilmenu" class="d-flex">
<li class="pe-5">깃허브</li>
<li class="pe-5">노션</li>
<li>대표기획</li>
</ul>
</div>
</header>
</body>
jQ
<script>
// 제이쿼리 GET방식으로 ajax 부르기 (자바스크립트는 넘 복잡)
$(function(){
$.ajax({
type : "GET",
url : "/pwa/data/navi.json", // 서버 절대 경로!
datatType : "json",
success : function( naviData ){
// ul
var gnbli = '';
$.each(naviData, (index, item)=>{
gnbli += "<li class=\""+item.navClass+"\"><a href\""+item.naviLink+"\" target=\""+item.navTarget+"\">"+item.navTitle+"</a></li>";
// `<li><a href="${item.navLink}" class="${item.navClass}" target="${item.navTarget}">${item.navTitle}</a></li>`;
})
$('#gnb').html(gnbli)
},
error : function(e){
}
});
})
</script>
+) CSS
<style>
ul, li{list-style: none;}
#hd img{height: 20px;}
</style>
https://getbootstrap.com/docs/4.6/components/navbar/
ex)



플러그인 cdn
<!-- 부트스트랩 4.6 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
<!-- 제이쿼리 2.2.4 -->
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script>
JQ
<script>
$(function(){
$.ajax({
type: "GET",
url : "/pwa/data/navi.json",
dataType :"json",
success : function(naviData){
var naviTag = '';
$.each(naviData, (index, item)=>{
naviTag +="<li class=\"nav-item active\"><a class=\"nav-link\" href=\""+item.navLink+"\">"+item.navTitle+"<span class=\"sr-only\">(current)</span></a></li>";
//naviTag +="<li class="+item.navClass+" ><a href="+item.navLink+" target="+item.navTarget+" >"+item.navTitle+"</a></li>";
})
$('#gnb').html(naviTag)
},
error : function(){
}
})
})
</script>
HTML
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarTogglerDemo02">
<ul class="navbar-nav mr-auto mt-2 mt-lg-0" id="gnb">
</ul>
<form class="form-inline my-2 my-lg-0">
<input class="form-control mr-sm-2" type="search" placeholder="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form>
</div>
</nav>
</body>