我正在玩我在Vue中的第一个表格。我已经使用Nuxt创建了我的应用。
我可以通过API的axios get请求获取数据,但似乎无法发布数据。
new.vue
<template>
<section class="container">
<div>
<h1>Gins</h1>
<form @submit.prevent="addGin">
<h4>New Product</h4>
<p>
<label for="name" class="input-label">Title:</label>
<input id="name" v-model="title" type="text" name="name" class="input">
</p>
<p>
<button type="submit" value="Submit" class="button">Add Gin</button>
</p>
</form>
</div>
</section>
</template>
<script>
import axios from 'axios'
export default {
data() {
return {
title: '',
errors: []
}
},
methods: {
addGin() {
axios.post('/apv/v1/gins', this.title)
.then((Response) => {})
.catch((err) => {
this.errors.push(err)
})
}
}
}
</script>
单击提交按钮时,我没有收到任何错误,但是我可以确认没有任何条目添加到我的API数据库中。
我的API在另一台服务器localhost:4000
上运行,并且我已经在nuxt.config.js
上设置了代理服务器
axios: {
proxy: true
},
proxy: {
'/api/v1/': 'http://localhost:4000'
},
我已经尝试过<form @submit.prevent="addGin">
和<form v-on:submit.prevent="addGin">
,但这似乎没有什么不同。
我可能还会缺少什么?
答案 0 :(得分:0)
@nuxtjs/axios
模块添加到nuxt.config的模块部分this.$axios
而不是导入的。证明:https://axios.nuxtjs.org/usage 答案 1 :(得分:0)
好的,所以真的很近。将我的axios参数更改为title: this.title
,显然可以解决问题。