Showing
2 changed files
with
50 additions
and
4 deletions
... | @@ -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 | ... | ... |
-
Please register or login to post a comment