Vue Axios Post Request Example Tutorial
In this post, we will lean how to send http request using axios in vue js. we will send post request with parameter as array or form data in vue cli npm app. here will be simple example of axios post request in vue js app from scratch.
we always choose axios to call api in vue js application.
axios is a http client library. axios provide to send get, post, put, delete request with parameter, formdata, headers, string, image, multipart/form-data etc. axios is a awesome library for http requests.
in this example, we will create simple form with two input fields in vue js app. then we will form submit request by using axios http post request with following input parameter. You can also understand clear to how to send http post request.
So, let's see bellow example step. Make sure you need to create one POST request api for this example.
Step 1: Create Vue JS App
In this step, we need to create vue cli app using bellow command:
vue create my-app
Step 2: Install vue-axios package
Here we need to install vue-axios npm package for send post request using axios.
npm install --save axios vue-axios
Step 3: Use vue-js-toggle-button
We need to use vue-axios package in main.js file of vue js app.
src/main.js
import Vue from 'vue'
import App from './App.vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios)
Vue.config.productionTip = false
new Vue({
render: h => h(App),
}).$mount('#app')
Step 4: Update HelloWorld Component
Here, we will create HelloWorld.vue component with following code.
src/components/HelloWorld.vue
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Vue Axios Post - ItSolutionStuff.com</div>
<div class="card-body">
<form @submit="formSubmit">
<strong>Name:</strong>
<input type="text" class="form-control" v-model="name">
<strong>Description:</strong>
<textarea class="form-control" v-model="description"></textarea>
<button class="btn btn-success">Submit</button>
</form>
<strong>Output:</strong>
<pre>
{{output}}
</pre>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
},
data() {
return {
name: '',
description: '',
output: ''
};
},
methods: {
formSubmit(e) {
e.preventDefault();
let currentObj = this;
this.axios.post('http://localhost:8000/yourPostApi', {
name: this.name,
description: this.description
})
.then(function (response) {
currentObj.output = response.data;
})
.catch(function (error) {
currentObj.output = error;
});
}
}
}
</script>
Now you can run vue app by using following command:
npm run serve
Get more info from here: https://www.npmjs.com/package/vue-axios.
I hope it can help you...
Hardik Savani
I'm a full-stack developer, entrepreneur and owner of ItSolutionstuff.com. I live in India and I love to write tutorials and tips that can help to other artisan. I am a big fan of PHP, Laravel, Angular, Vue, Node, Javascript, JQuery, Codeigniter and Bootstrap from the early stage. I believe in Hardworking and Consistency.
We are Recommending you
- Vue JS Get Selected Option Text Example
- Vue JS Ajax Form Submit Example Code
- How to Change Date Format using Moment in Vue JS?
- Vue JS Toggle Switch Button Example
- Vue Toastr Notifications Example Code
- File Upload using Vue js Axios PHP Example
- How to Check Object or Array Empty or Not in Vue JS?
- Laravel Vue Router Example From Scratch
- Laravel Vue Flash Message Example From Scratch
- Laravel Vue JS File Upload Using Vue-dropzone Example
- Laravel Vue JS Axios Post Request Example
- Laravel Vue JS Infinite Scroll Example with Demo
- Laravel 5.6 - Dynamic Ajax Autocomplete using Vue.js