본문 바로가기
웹 프로그래밍(풀스택-->python)

24. Quiz_Ajax 연습하기(1)

by 백엔드개발자0107 2021. 4. 14.

자! 요번에도 Quiz_Ajax 관련내용을 연습해보자

 

이 사진은 "따릉이"라는 사업이름의 open api이다.

 

이 api를 조금더 조작해보자!

 

여기서 우리가 주목할것은 stationName과 rackTotCnt 사용해볼것이다.

 

 

이 html파일 템플릿을 기본으로 하자!

 

그래서 이 템플릿을 기준으로 아래 업데이트를 누르면 그에 대한 결과물이 나오는 서비스를 만들어 볼것이다,

 

 

 

두번째 퀴즈는 

 

 

현재 거치된 따릉이 수가 5개 미만인 따릉이를 알려준다.

 

이 두 퀴즈를 직접 만들어보자

 

힌트는

$.ajax({

type: "GET",

url: "http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99",

data: {},

success: function (response) {




}

 

항상 이 ajax메소드를 이용하라는 점이다. 여기서 url의 값이 response에 들어간다는 것도 잊지 말자!

 

 

<!doctype html>
<html lang="ko">

<head>
    <meta charset="UTF-8">
    <title>JQuery 연습하고 가기!</title>
    <!-- JQuery를 import 합니다 -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

    <style type="text/css">
        div.question-box {
            margin: 10px 0 20px 0;
        }

        table {
            border: 1px solid;
            border-collapse: collapse;
        }

        td,
        th {
            padding: 10px;
            border: 1px solid;
        }

        .warning {

            color: red;


        }
    </style>

    <script>
        function q1() {

            $("#names-q1").empty()
            $.ajax({
                type: "GET",
                url: "http://spartacodingclub.shop/sparta_api/seoulbike",
                data: {},
                success: function (response) {

                    let temp = response["getStationList"]["row"]
                    for (let i = 0; i < temp.length; i++) {

                        let holderLoc = temp[i]["stationName"]
                        let holderCount = temp[i]["parkingBikeTotCnt"]
                        let rackCount = temp[i]["rackTotCnt"]



                        let temp_html = ""
                        if (holderCount < 5) {

                            temp_html = `<tr class= "warning">
                                                     <td>${holderLoc}</td>
                                                     <td>${holderCount}</td>
                                                     <td>${rackCount}</td>
                                                    </tr>`

                        } else {


                            temp_html = `<tr>
                                                     <td>${holderLoc}</td>
                                                     <td>${holderCount}</td>
                                                     <td>${rackCount}</td>
                                                    </tr>`


                        }
                        $("#names-q1").append(temp_html)



                    }



                }
            })

        }
    </script>

</head>

<body>
    <h1>jQuery + Ajax의 조합을 연습하자!</h1>

    <hr />

    <div class="question-box">
        <h2>2. 서울시 OpenAPI(실시간 따릉기 현황)를 이용하기</h2>
        <p>모든 위치의 따릉이 현황을 보여주세요</p>
        <p>업데이트 버튼을 누를 때마다 지웠다 새로 씌여져야 합니다.</p>
        <button onclick="q1()">업데이트</button>
        <table>
            <thead>
                <tr>
                    <td>거치대 위치</td>
                    <td>거치대 수</td>
                    <td>현재 거치된 따릉이 수</td>
                </tr>
            </thead>
            <tbody id="names-q1">
                <tr>
                    <td>102. 망원역 1번출구 앞</td>
                    <td>22</td>
                    <td>0</td>
                </tr>
                <tr>
                    <td>103. 망원역 2번출구 앞</td>
                    <td>16</td>
                    <td>0</td>
                </tr>
                <tr>
                    <td>104. 합정역 1번출구 앞</td>
                    <td>16</td>
                    <td>0</td>
                </tr>
            </tbody>
        </table>
    </div>
</body>

</html>

위 과정을 익히면서 꼭 공부하자!