npm i axios
App.vue
<template>
<!--
<form action="">
-->
<form v-on:submit.prevent="submitForm">
<div>
<!-- for : ์ด๋ค ํ๊ทธ๋ฅผ ์ํ(for) ๋ ์ด๋ธ์ธ์ง ์ ์ -->
<label for="username">id :</label>
<!-- input-v-model => two way data binding
v-model๋ก ์ธํด ํ๋จ์ data username๊ณผ ๋งคํ๋์ด์ง -->
<input id="username" type="text" v-model="username">
</div>
<div>
<label for="password">pw :</label>
<!-- input-v-model => two way data binding
v-model๋ก ์ธํด ํ๋จ์ data password ๋งคํ๋์ด์ง -->
<input id="password" type="password" v-model="password">
</div>
<!-- form ๋จ์ submit -->
<button type="submit">login</button>
</form>
</template>
<script>
import axios from 'axios';
export default {
//๋ณดํต ์ปดํฌ๋ํธ ๊ฐ ๋ฐ์ดํฐ๊ฐ ๊ณต์ ๋์ง ์๋๋ก
//๋ฐ๋ก ๊ฐ์ฒด๋ฅผ ์ฐ์ง ์๊ณ , function์ ํตํด ์ ๊ฐ์ฒด๋ฅผ returnํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฐ์ฌ์ง
data : function() {
return {
username : '',
password : '',
}
},
methods : {
submitForm : function() {
//event.preventDefault(); submit์, ์๋ก๊ณ ์นจ์ ๋ง๋ ๊ธฐ๋ฅ(๋ฐ๋๋ผjs)
//vue๋ form์ .prevent ์ฒ๋ฆฌ ํด์ฃผ๋ฉด ๋๋ค.
console.log(this.username, this.password);
var url = 'https://jsonplaceholder.typicode.com/users';
var data = {
username : this.username,
password : this.password
}
//http ํต์ ๋ฐฉ์ + post ๋ฐฉ์
axios.post(url, data)
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error)
});
}
}
}
</script>
<style>
</style>
๊ฒฐ๊ณผ(response)