axios post 传递参数成功,但是后台接受不到

原因:jquery在执行post请求时,会设置Content-Type为application/x-www-form-urlencoded,所以服务器能够正确解析,使用原生ajax、axios请求时,如果不显示的设置Content-Type,那么默认是application/json;charset=UTF-8

 

请求时添加

{ headers:{'Content-Type':'application/x-www-form-urlencoded'}}

或者直接设置

 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

但是光设置好header还是没用,还要把传递的表单参数序列化

引入qs

 axios.post('${request.contextPath}/menu/save.do',
                Qs.stringify(that.menuForm)
            ).then(
                function (data) {
                    console.log(data);
                }
            )

 

你可能感兴趣的:(axios post 传递参数成功,但是后台接受不到)