用Vue框架,表单提交出发axios异步如何写,生成代码例子
时间: 2023-06-12 07:02:04 浏览: 97
axios异步提交表单数据的几种方法
好的,关于您的问题,我会给您一个例子来表示如何用Vue框架和axios异步提交表单数据:
1. 在Vue组件的template中创建表单以及相关表单字段,如下所示:
```
<template>
<form @submit.prevent="submitForm">
<label>Email:</label>
<input type="email" v-model="email">
<label>Password:</label>
<input type="password" v-model="password">
<button type="submit">Submit</button>
</form>
</template>
```
2. 在Vue组件的script标签中添加data属性来绑定表单的各个字段,同时添加submitForm()方法来触发表单提交处理程序,如下所示:
```
<script>
import axios from 'axios'
export default {
data () {
return {
email: '',
password: ''
}
},
methods: {
submitForm () {
axios.post('/api/login', {
email: this.email,
password: this.password
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
}
}
}
</script>
```
3. 最后,您需要在Vue组件中加载axios库并添加后端处理程序的API路由,如下所示:
```
<script>
import axios from 'axios'
export default {
data () {
return {
email: '',
password: ''
}
},
methods: {
submitForm () {
axios.post('/api/login', {
email: this.email,
password: this.password
})
.then(function(response) {
console.log(response);
})
.catch(function(error) {
console.log(error);
});
}
}
},
mounted () {
this.axios = axios.create({
baseURL: 'http://localhost:3000',
headers: {
'Authorization': `Bearer ${localStorage.getItem('jwt')}`
}
})
}
</script>
```
在这个例子中,您可以看到我们使用了axios来异步提交表单以及处理后端API路由的请求。当用户单击提交按钮时,submitForm()方法会被触发并创建一个基于axios的POST请求从前端传递表单数据。如果请求成功,响应的结果将被打印到控制台中,如果请求失败,将会打印错误信息。注意,我们使用create()方法来创建axios实例并添加Authorization头,以确保请求被正确授权。
阅读全文