희원96
코딩 공부 일기
희원96
전체 방문자
오늘
어제
  • 다이어리 (94)
    • 일상 (2)
      • #.일기 (2)
      • 정보처리기사 (0)
    • 코딩 공부 (90)
      • Python (11)
      • Java (12)
      • DB (18)
      • Arduino (5)
      • HTML,CSS (7)
      • JSP, Servlet (14)
      • Javascript (8)
      • jQuery (2)
      • Spring (1)
      • Android (8)
      • ML (4)
      • React (0)
    • 프로젝트 (1)
      • 미니프로젝트 (1)
      • 1차프로젝트 (0)
      • 2차프로젝트 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 개발 공부 일기

인기 글

태그

  • 스프링
  • JavaFestival
  • java
  • jQuery
  • 화이팅
  • 머신러닝
  • DB
  • Spring
  • Database
  • Android
  • Python
  • JSP
  • 안드로이드
  • JS
  • Ajax
  • ml
  • arduino
  • 제이쿼리
  • 스마트인재개발원
  • 아두이노
  • 자바
  • CSS
  • 자바스크립트
  • 데이터베이스
  • Servlet
  • 파이썬
  • HTML
  • JavaScript

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
희원96

코딩 공부 일기

[Ajax] api실습
코딩 공부/Javascript

[Ajax] api실습

2022. 5. 23. 16:39

 

jQuery + Ajax

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="/05.jQuery/js/jquery-3.6.0.min.js"></script>
</head>
</head>

<body>

    <div id="mv">
        <!-- 주간 인기영화 순위표-->
    </div>
    <button onclick="getData()">영화 데이터 요청</button>

    <script>
        function getData() {
            $.ajax({

                //url ->데이터의 주소
                url: 'https://kobis.or.kr/kobisopenapi/webservice/rest/boxoffice/searchWeeklyBoxOfficeList.json?key=4f443bcfded5236e0a6bc3e4075d9b94&targetDt=20220501',
                //쿼리스트링? get/jsp에서 post로 설정? post
                type: 'get',
                success: function (res) {
                    //성공했다면? 내 데이터는 어디있을까? -> 매개변수
                    //Q.1위부터 10위까지 영화 제목 console창에 출력!!!!
                    // for(let i = 0; i <10; i++){

                    //     console.log(res.boxOfficeResult.weeklyBoxOfficeList[i].movieNm)
                    // }
                    let data = ''

                    data += '<table><tr><th>순위</th><th>영화제목</th><th>개봉일자</th></tr>'

                    for (let i = 0; i < res.boxOfficeResult.weeklyBoxOfficeList.length; i++) {
                        let temp = res.boxOfficeResult.weeklyBoxOfficeList[i]
                        data += '<tr>'
                        data += `<td>${temp.rank}</td>`
                        data += `<td>${temp.movieNm}</td>`
                        data += `<td>${temp.openDt}</td>`
                        data += '</tr>'

                    }
                    data += '</table>'
                    $('#mv').prepend(data)



                    console.log(res)
                },
                error: function () {
                    alert('error!')
                }
            })
        }
    </script>
</body>

</html>

 

지도 api 사용해보기

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>지도 생성하기</title>
    
</head>
<body>
<!-- 지도를 표시할 div 입니다 -->
<div id="map" style="width:100%;height:350px;"></div>

<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=e2b3cd327f9d9e9c501b5ac8077ec684"></script>
<script>
var mapContainer = document.getElementById('map'), // 지도를 표시할 div 
    mapOption = { 
        center: new kakao.maps.LatLng(35.11074920318669, 126.87774044009879), // 지도의 중심좌표
        level: 3 // 지도의 확대 레벨
    };

// 지도를 표시할 div와  지도 옵션으로  지도를 생성합니다
var map = new kakao.maps.Map(mapContainer, mapOption); 
</script>
</body>
</html>

 

차트 api사용해보기

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
    <canvas id="myChart" width="400" height="400"></canvas>
<script>
const ctx = document.getElementById('myChart').getContext('2d');
const myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            y: {
                beginAtZero: true
            }
        }
    }
});
</script>
</body>
</html>
날씨 정보 api

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="/05.jQuery/js/jquery-3.6.0.min.js"></script>
</head>
<body>
    <h1>현재 날씨는?</h1>
    <div id="container"></div>
    <button onclick="getData()">날씨가져오기</button>

    <script>
        function getData(){
            $.ajax({
                url : 'https://api.openweathermap.org/data/2.5/weather?q=seoul&appid=1eb1d18602c0e2dde562cdc2005a4495',

                type: 'get',
                success: function(res){
                    
                    
                    $('#container').append(`<p>현재온도 : ${res.main.temp}</p>`)
                    $('#container').append(`<p>최고온도 : ${res.main.temp_max}</p>`)
                    $('#container').append(`<p>최저온도 : ${res.main.temp_min}</p>`)
                    
                    console.log(res)

                },
                error: function () {
                    alert('error!')
                }
            })
        }

    </script>
</body>
</html>

 

날씨+차트

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script src="/05.jQuery/js/jquery-3.6.0.min.js"></script>

    <style>
        #mychart{
            width: 400px !important;
            height:  400px !important;

        }
    </style>
</head>
<body>
    <h1>현재 날씨는?</h1>
    <button onclick="getData()">날씨가져오기</button>
    <div id="container"></div>
    <canvas id="myChart" width="400" height="400"></canvas>

    <script src = "./main.js"></script>
</body>
</html>

//main.js
function getData() {
    $.ajax({

        url: 'https://api.openweathermap.org/data/2.5/weather?q=seoul&appid=1eb1d18602c0e2dde562cdc2005a4495',
        type: 'get',
        success: function (res) {

            $('#container').append(`<p>현재온도 : ${res.main.temp}</p>`)
            $('#container').append(`<p>최고온도 : ${res.main.temp_max}</p>`)
            $('#container').append(`<p>최저온도 : ${res.main.temp_min}</p>`)

            const ctx = document.getElementById('myChart').getContext('2d');
const myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        //x축 데이터
        labels: ['현재온도', '최고온도', '최저온도'],
        datasets: [{
            label: '# of Votes',
            // x축 대응 데이터
            data: [res.main.temp, res.main.temp_max, res.main.temp_min],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)'
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)'
            ],
            borderWidth: 1
        }]
    },
    options: {
        scales: {
            y: {
                beginAtZero: true
            }
        }
    }
});

        },
        error: function () {
            alert('error!')
        }
    })
}
    '코딩 공부/Javascript' 카테고리의 다른 글
    • Ajax, API 사용법
    • [JavaScript] 선택자
    • [JavaScript] 객체 반환
    • [JavaScript]함수실습,객체
    희원96
    희원96
    개발 공부

    티스토리툴바