假设我有这段代码
<main>
<form>
<input type="text" v-model="name">
<button type="submit" @click="submit">
Submit From Vue Property
</button>
</form>
</main>
这就是Vue代码。
new Vue({
el : 'main',
data : {
name : ''
},
methods : {
submit(){
}
}
})
如何从Vue数据属性提交到服务器?我在提交方法中使用过。
(老实说,我的实际代码很复杂,但问题是相同的。如何提交Vue数据属性?)
答案 0 :(得分:3)
如果您正在寻找基于ajax的解决方案,请考虑使用名为“axios”的库。它允许您使用URL发布/获取数据,就像jquery的get和post方法一样。
要使用axios,您需要首先使用npm npm install axios --save
安装axios,使用import axios from axios
导入它并在提交中使用它。新代码如下所示:
<main>
<form @submit.prevent="submit">
<input type="text" v-model="name">
<button type="submit">
Submit From Vue Property
</button>
</form>
</main>
new Vue({
el : 'main',
data : {
name : ''
},
methods : {
submit(){
axios.post('/your-url', {name: this.name})
.then(res => {
// do something with res
})
.catch(err => {// catch error});
}
}
})
答案 1 :(得分:0)
在这里您可以使用vue变量提交总表单数据。您可以使用axios制作api。
<template>
<div>
<form @submit.prevent="submitform">
<input type="text" v-model="formdata.firstname">
<input type="text" v-model="formdata.lastname">
<input type="text" v-model="formdata.email">
<input type="text" v-model="formdata.password">
<button type="submit">
Submitform
</button>
</form>
</div>
</template>
<script>
import axios from 'axios'
export default {
name: 'el',
data () {
return {
formdata:{ firstname: '', lastname: '', email: '', password: '' }
// this is formdata object to store form values
}
},
methods: {
submitform(){
axios.post('/url', { this.formdata })
.then(res => {
// response
})
.catch(err => {
// error
})
},
mounted () {
},
components: {
}
}
</script>