min1925k@gmail.com

LPG AutoComplete List

...@@ -63,7 +63,7 @@ app.use(ExpressSession({ ...@@ -63,7 +63,7 @@ app.use(ExpressSession({
63 //모든 router 처리가 끝난 후 404 오류 페이지 처리 63 //모든 router 처리가 끝난 후 404 오류 페이지 처리
64 var errorHandler = expressErrorHandler({ 64 var errorHandler = expressErrorHandler({
65 static: { 65 static: {
66 - '404': './rest_stop_list/app/public/404.html' 66 + '404': './app/public/404.html'
67 } 67 }
68 }); 68 });
69 app.use(expressErrorHandler.httpError(404)); 69 app.use(expressErrorHandler.httpError(404));
......
...@@ -12,7 +12,54 @@ ...@@ -12,7 +12,54 @@
12 <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" /> 12 <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" />
13 <!-- Core theme CSS (includes Bootstrap)--> 13 <!-- Core theme CSS (includes Bootstrap)-->
14 <link href="css/styles.css" rel="stylesheet" /> 14 <link href="css/styles.css" rel="stylesheet" />
15 + <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
16 + <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
17 + <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
15 </head> 18 </head>
19 + <script>
20 + var LPG_Reststop_List2 = [];
21 + fetch('http://data.ex.co.kr/openapi/business/lpgServiceAreaInfo?key=6806352377&type=json&numOfRows=1000').then(function (response) {
22 + method: 'GET';
23 + body: JSON.stringify(this.obj)
24 + response.text().then(function (text) {
25 +
26 + //쓸데없는 데이터를 제거하여 필요한 데이터만 정리하기
27 + index_1 = text.indexOf('[')
28 + index_2 = text.indexOf(']')
29 + mdata = text.substr(index_1 + 1, index_2 - index_1 - 1)
30 +
31 + //text data -> array data
32 + // },를 기준으로 하여 split으로 각 데이터셋 {}이 array의 원소가 되도록 array를 생성하기
33 + mmdata = mdata.split('},');
34 +
35 + //휴게소 이름들만 데이터리스트에서 추출해 LPG_Reststop_List 어레이에 넣기
36 +
37 + //mmdata의 길이만큼 반복
38 + for(let i=0; i<mmdata.length; i++){
39 +
40 + //휴게소 이름만 데이터리스트에서 추출하기
41 + index_3 = mmdata[i].indexOf('"serviceAreaName":"')
42 + index_4 = mmdata[i].indexOf(',"routeCode":"')
43 + ReststopName = mmdata[i].substr(index_3+19, index_4-index_3-20)
44 +
45 + //휴게소 이름을 어레이에 추가
46 + LPG_Reststop_List2.push(ReststopName)}
47 + })
48 + })
49 + $(function() {
50 +
51 + var repo_list = ["용인휴게소","서울휴게소","여주휴게소",];
52 +     $("#name").autocomplete({
53 +         source: LPG_Reststop_List2,
54 +         select: function(event, ui) {
55 +             console.log(ui.item);
56 +         },
57 +         focus: function(event, ui) {
58 +             return false;
59 +             //event.preventDefault();
60 +         }
61 +     });});
62 + </script>
16 63
17 <body class="d-flex flex-column"> 64 <body class="d-flex flex-column">
18 <main class="flex-shrink-0"> 65 <main class="flex-shrink-0">
...@@ -58,7 +105,6 @@ ...@@ -58,7 +105,6 @@
58 105
59 <!--검색 버튼으로 검색할 휴게소 이름 입력 받기--> 106 <!--검색 버튼으로 검색할 휴게소 이름 입력 받기-->
60 <p><input type="text" placeholder="휴게소 이름" id="name"><input type="button" onclick="ShowLPG()" value="확인"></p> 107 <p><input type="text" placeholder="휴게소 이름" id="name"><input type="button" onclick="ShowLPG()" value="확인"></p>
61 -
62 </div> 108 </div>
63 </div> 109 </div>
64 </div> 110 </div>
...@@ -82,15 +128,15 @@ ...@@ -82,15 +128,15 @@
82 </section> 128 </section>
83 129
84 130
85 -
86 <script> 131 <script>
87 132
88 //LPG 휴게소 open api는 LPG휴게소가 존재하는 데이터 리스트만 가지고 있음 133 //LPG 휴게소 open api는 LPG휴게소가 존재하는 데이터 리스트만 가지고 있음
89 //따라서 fetch를 총 두 번 진행하여 첫번째에서는 LPG 휴게소 리스트를 받아와 그 중 휴게소 이름만 추출하여 리스트로 만들고 134 //따라서 fetch를 총 두 번 진행하여 첫번째에서는 LPG 휴게소 리스트를 받아와 그 중 휴게소 이름만 추출하여 리스트로 만들고
90 //웹 페이지에서 검색하고자 하는 휴게소 이름을 입력받아 만약 이름이 LPG휴게소 리스트에 있다면 135 //웹 페이지에서 검색하고자 하는 휴게소 이름을 입력받아 만약 이름이 LPG휴게소 리스트에 있다면
91 //'LPG 충전소가 있습니다'를, 없다면 'LPG 충전소가 없습니다'를 출력하도록 함 136 //'LPG 충전소가 있습니다'를, 없다면 'LPG 충전소가 없습니다'를 출력하도록 함
92 - 137 +
93 138
139 +
94 //fetch로 전체 데이터 리스트를 text형태로 끌어오기 140 //fetch로 전체 데이터 리스트를 text형태로 끌어오기
95 function ShowLPG() { 141 function ShowLPG() {
96 142
......