首页 > 解决方案 > 从 vuejs 表单数据创建 JSON 对象

问题描述

我正在尝试从提交时的表单数据创建一个 JSON 对象。

我已经设法让它与一个变量一起工作。有没有更好的方法来创建 JSON 对象?

形式

<form @submit.prevent="submit">
   <div class="form-group">
      <label class="inputa-label" for="exampleInputEmail1"
         >Email address</label
         >
      <input
         type="email"
         class="form-control inputa"
         id="exampleInputEmail1"
         placeholder="Enter email"
         required
         v-model="email"
         />
   </div>
   <div class="form-group">
      <label class="inputa-label" for="exampleInputPassword1"
         >Phone number</label
         >
      <input
         type="number"
         class="form-control inputa"
         id="exampleInputPassword1"
         placeholder="Phone"
         v-model="phone"
         />
   </div>
   <div class="form-group">
      <label class="inputa-label" for="exampleInputPassword1"
         >Information</label
         >
      <textarea
         class="form-control inputa"
         aria-label="With textarea"
         v-model="information"
         ></textarea>
   </div>
   <button
      type="submit"
      style="font-weight:600; padding: .8125rem 1.25rem"
      class="btn btn-primary"
      >
   Submit
   </button>
</form>

方法:

  data() {
    return {
      email:"",
      phone:"",
      information:"",
    };
  },
  methods: {
    submit() {

      var data = '{ "Email":"' + this.email + '" , "Phone":"' + this.phone + '", "Information":"' + this.information + '" }';
      
    },
  },

我已经让它与一个变量一起工作,但我想知道是否有更好的方法来做到这一点。

标签: javascriptarraysjsonvue.js

解决方案


回答这个问题,我认为您正在寻找的是JSON.stringify()

const data = JSON.stringify({
  Email: this.email,
  Phone: this.phone,
  Information: this.information
})

推荐阅读