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);
});
请问这是为什么额,我都要蛋疼死了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧问题已经解决了,是因为vue-resource axios按照文档的写法是发送json过去,而不是类似表单的那种提交,所以后台不能接受到。vue-resource我不知道怎么解决,不过axios我已经找到解决办法了,文档里面有
这样子使用就OK啦
楼主你遇到的问题在于POST提交中请求参数可以有两种不同形式:form data和request payload,相关资料参阅:http://blog.csdn.net/mhmyqn/a...
如何判断是这样的提交?在Chrome的开发者工具面板看request中有没有payload。
如何解析这样的提交?用ServletRequest.getReader()方法获得访问payload的reader。