vue提交按钮数据

时间:2017-07-30 08:59:29

标签: html vue.js vuejs2

假设我有这段代码

<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数据属性?)

2 个答案:

答案 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>