gpt4 book ai didi

javascript - 在 VueJS 中使用 POST 请求提交表单

转载 作者:行者123 更新时间:2023-12-01 15:44:09 26 4
gpt4 key购买 nike

我有一个使用 POST 请求提交数据的端点,

http://localhost:3000/entry

键是 fname, lname, age
我可以向给定的端点发出 POST 请求,它将创建一个条目。

我正在尝试使用 VueJS 提交表单。但是,当我在表单中调用 API 时,它并没有提交数据。我检查了网络调用,它没有向端点发送任何数据。

HTML :-
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.4/vue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/0.1.16/vue-resource.min.js"></script>
<script src="script.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="style.css">


<div id="vueApp">
<div class="container">

<div class="row">
<div class="col-sm-12">
<h3>
Dashboard
</h3>
</div>
</div>

<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label for="fname">First Name</label>
<input type="text" class="form-control" value="" v-model="fname" />
</div>
<div class="form-group">
<label for="lname">Last Name</label>
<input type="text" class="form-control" value="" v-model="lname" />
</div>
<div class="form-group">
<label for="age">Age</label>
<input type="text" class="form-control" value="" v-model="age" />
</div>
</div>
<div class="col-sm-12">
<a href="#" class="btn btn-success" @click="submitEntry">Submit</a>
<span v-if="ajaxRequest">Please Wait ...</span>
</div>
</div>

<div>&nbsp;</div>

<div class="row" v-if="debug">
<div class="col-sm-12">
<pre>{{ $data | json }}</pre>
</div>
</div>

<!-- Table Start -->

<div class="row">
<table style="width:100%">
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
</tr>
<tr>
<td>{{fname}}</td>
<td>{{lname}}</td>
<td>{{age}}</td>
</tr>
</table>
</div>
<!-- Table END -->

</div>
</div>

脚本.js:-
Vue.http.options.emulateJSON = true;

new Vue({
el: '#vueApp',
data: {
debug: true,
fname: '',
lname: '',
age: '',
ajaxRequest: false,
postResults: []
},
methods: {
submitEntry: function() {
this.ajaxRequest = true;
this.$http.post('http://localhost:3000/entry', {
fname: this.fname,
lname: this.lname,
age: this.age
}, function (data, status, request) {
this.postResults = data;

this.ajaxRequest = false;
});
}}
});

样式.css:-
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 5px;
text-align: left;
}

最佳答案

你可以试试这个。

axios.post('http://localhost:3000/entry',{ params: { fname: this.fname, lname: this.lname, age: this.age }})
.then(response => this.responseData = response.data)
.catch(error => {});

使用前需要链接Axios CDN
https://cdn.jsdelivr.net/npm/axios@0.12.0/dist/axios.min.js

关于javascript - 在 VueJS 中使用 POST 请求提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51421277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com