axios - servlet后台接收不到前端发来的post数据

查看:443
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆