Vue使用Axios通过post方式访问后台,为什么后台获取不到传递过来的参数?(跨域)

weixin_38065414 2019-05-13 01:53:45
我用Vue+Element搭建了一个前端应用。使用Axios来进行数据的访问。配置如下



后台是一个Spring项目,也进行了跨域的配置,如下



使用如下代码请求后台时,后台确实接收到了请求,但却没有接收到请求参数





尝试了各种方法都不行唉.../(ㄒoㄒ)/~~
...全文
964 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38078612 2019-05-13
  • 打赏
  • 举报
回复
@RequestMapping(value="/uploadCarousel", method=RequestMethod.POST)
public ContentResults test(@RequestBody UserBean userbean) {
        
    }  
weixin_38070998 2019-05-13
  • 打赏
  • 举报
回复
1  , axios 默认采用的是applicaiton/json  ,应该要@requestBody 获取请求内容。(其实就是 前台POST JSON字符串 到后台) 2 , 如果spring mvc 想使用key-value这种方式接收,可以放到URL参数中(使用 这个 config.data = qs.stringify(config.data) 也可以实现) 3 ,第三种是用 用一个url的方法转换一下(具体忘记哪个方法了), 后台也可以收到,但是有浏览器兼容性问题。不推荐。 推荐第二种。
weixin_38074583 2019-05-13
  • 打赏
  • 举报
回复
刚踩了这个坑,浪费了大半天时间查资料。 前台用是json,后台控制器使用基础数据类型接受时就会发现参数值为空。 但是用postman测试又没问题。 解决办法 https://stackoverflow.com/questions/12893566/passing-multiple-variables-in-requestbody-to-a-spring-mvc-controller-using-ajax  
weixin_38073293 2019-05-13
  • 打赏
  • 举报
回复
第一步看手动json请求后台能不能请求到,确保后台是没问题的 第二步浏览器端看发送的请求是否符合格式,是否和第一步的一致 浏览器检查格式方法 右键/检查/Network

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧