Submit form to Quip API with Axios

74 views Asked by At

I want to submit a form data to Quip's Create Document API using vue.js and axios. This is what I've tried so far:

Form:

             <form @submit="saveToQuip" method="POST" action="./post-order.html"> 
                <div class="row">
                    <div class="col-lg-6 col-md-6">
                        <div class="row">
                            <div class="col-lg-12">
                                <div class="checkout__input">
                                    <label>Receiver's Name<span>*</span></label>                                        
                                    <input type="text" name="First Name" v-model="fullname" required>
                                </div>
                            </div>
                        </div>
                        .....
            </form>

JS:

new Vue({
  el: '#submit-order',
  data () {
    return {
      cartItems: [],
      fullname: '',
      facebookname: '',
      email: 'NONE',
      address: '',
      phone_number: '',
      payment_method: '',
      delivery_dtime: '',
      ordernotes: 'NONE'
    }
  },
  methods:{
    saveToQuip(submitEvent) {
     ......
        axios.post('where-to-send-form-data', {
          headers : {   
            Authorization: 'Bearer ' + personal_token,
            'Content-Type': content_type
            //Access-Control-Allow-Origin : *
          },
          params: {
            title: this.fullname,
            type: 'document',
            member_ids: folder_id,
            content: content
          }
        })
        .then((response) => {
          console.log(response)
        })  
        .catch(function (error) {
          console.log(error);   
        })  
        .then(function () { 

      });   ;
    }
  }
})

When I try to submit my form, it does not run the axios post command, and there is no error in the console. It just redirects the page to the next page. How do I achieve this?

1

There are 1 answers

0
Raffobaffo On

Remove both method and action from your form and trigger the action from a button

<form @submit="saveToQuip" method="POST" action="./post-order.html"> 

to

   <form>
   ...
     <button @click="saveToQuip()">SAVE</button>