我正在尝试将 HTML 表单中的数据发布到 REST 后端服务,该服务使用 JSON 作为数据。定义了我的表格:
<form name="form" >
<input type="text" placeholder="Name" value="name" size="60"/></div>
<input type="text" placeholder="Surname" value="surname" size="60"/></div>
<input type="submit" value="Save" @click="getPostsViaREST"/>
</form>
这是我用来发布数据的 Axios 方法:
methods: {
getPostsViaREST: function() {
var form = document.querySelector('form');
var user = new FormData(form);
axios.post("/users", user)
.then(response => {
this.getViaREST()
})
},
但是我收到 415 错误响应,所以我想问题是我没有以 JSON 格式发送数据(后端使用 JSON)。我想一种解决方法可能是使用 document.getElementById 并发布单个字段。为了学习,我想知道使用FormData是否仍然可以做到这一点。
编辑:我尝试了一些方法将表单数据转换为 JSON,但似乎一个空的有效负载被发送到服务器端:
var form = document.querySelector('form');
var formData = new FormData(form);
var object = {};
formData.forEach(function(value, key){
object[key] = value;
});
var json = JSON.stringify(object);
axios.post("/users", json)
.then(response => {
this.getViaREST()
})
},
谢谢!