axios - servlet后台接收不到前端发来的post数据
本文介绍了axios - servlet后台接收不到前端发来的post数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我后台用servlet编写了api,然后我用postman之类的工具模拟post请求测试过,后台工作都是正常的,能够接收到请求。之后前端页面一开始是用vue-resource编写的,后来用了axios,后台用getParameter()都接收不到任何数据,但能够通过getReader()的方式得到我发送的post信息{"name": "Fred"}
这种样子的。请问这是为什么。
我vue-resource axios的代码都是按照官网最简单的例子来写的,不带别的任何设置,比如下面的
this.$http.post('/api/goods', {
name: 'Fred',
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
请问这是为什么额,我都要蛋疼死了
解决方案
好吧问题已经解决了,是因为vue-resource axios按照文档的写法是发送json过去,而不是类似表单的那种提交,所以后台不能接受到。vue-resource我不知道怎么解决,不过axios我已经找到解决办法了,文档里面有
var params = new URLSearchParams();
params.append('param1', 'value1');
params.append('param2', 'value2');
axios.post('/foo', params);
这样子使用就OK啦
这篇关于axios - servlet后台接收不到前端发来的post数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文