IT/development

[Vue.js] ajax api 호출(feat. axios)

알 수 없는 사용자 2023. 7. 27. 20:06
반응형
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
    <div id="app">
				<!-- getData()라는 클릭 이벤트 연결 -->
        <button @click="getData">get users</button>
				<!-- users의 데이터가 변경되면 받아온 데이터로 표시됨 -->
        <div>{{ users }}</div>
    </div>
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
		<!-- axios import -->
    <script src="https://unpkg.com/axios@1.1.2/dist/axios.min.js"></script>
    <script>

        new Vue({
            el: '#app',
            methods: {
                //버튼 이벤트 핸들러 
                getData: function() {
										//Vue 인스턴스를 변수에 치환	
                    let vm = this;
										//axios에서 https://jsonplaceholder.typicode.com/users을 get으로 호출
                    axios.get('https://jsonplaceholder.typicode.com/users/')                        
												//성공 시 로직  		
                        .then(function(response) {
                            console.log(response.data);
													  //api에서 받아온 결과를 인스턴스의 data인 users에 치환
                            vm.users = response.data;
                        })
											  //실패 시
                        .catch(function(error) {
                            console.log(error);
                        });
                }
            },
            data: {
                users: []             
            },
        });
    </script>


</body>
</html>

결과

반응형