不能 post 与 vue.js

Can't post with vue.js

我想 post 使用“vue-resource”的表单数据,但出现错误。 我用 vue-cli 和 vuetify 写了代码。

错误

[Vue warn]: Error in v-on handler: "TypeError: this.$http.post(...).error is not a function"

App.vue

<template>
  <v-app>
    <v-main>
      <v-container class="px-0">
        <v-form ref="form" @submit="addEvent">
            <p class="text-uppercase">Question?</p>
              <v-radio-group v-model="newEvent.select1" row>
                <v-radio label="aaa" value="aaa"></v-radio>
                <v-radio label="bbb" value="bbb"></v-radio>
              </v-radio-group>
            <input type="submit" depressed color="primary" value="OK!">
        </v-form>
      </v-container>
    </v-main>
  </v-app>
</template>

<script>
export default {
  name: 'App',
  data () {
    return {
      users: [],
      newEvent: {
        select1: '',
      }
    }
  },
  methods: {
    addEvent: function (e) {
    e.preventDefault()
        if (this.isValid) {
          console.log("success")
          console.log("select1: " + this.newEvent.select1)

          this.$http.post('URL..', this.newEvent, function (data, status, request) {
            console.log("post success")

            console.log(status)
            }).error(function (data, status, request) {
              console.log("post failed")
            })
        }else{
          console.log("need edit")
        }
      },
  },
    computed: {
      isValid: function () {
        var valid = true
        for (var key in this.data) {
          if (!this.data[key]) {
            valid = false
          }
        }
        return valid
      }
    },
};
</script>
 

我尝试在main.js中写“import VueResource from'vue-resource'”,但是没有效果。

我该如何解决?

尝试使用 axiosfetch

// install axios first

import axios from 'axios'

// ... some code here

axios.post(url, data).then(response => {}).catch(error => {})


// or you can use fetch

let response = await fetch(url, { method:'POST', headers: {'Content-Type': 'application/json;charset=utf-8'}, body: JSON.stringify(data) })

// getting result
let json = await response.json()