请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

后台接收不到 axios json 数据

后台用的是Java

用axios 以 'Content-Type': 'application/json; charset=utf-8' 的格式发送的 json 数据,后台怎么接收不到

https://img1.sycdn.imooc.com//szimg/5b7398c9000184bf15420118.jpg

(后台接口已模拟测试没问题的)

正在回答

1回答

你是用  Java 实现的后台对吧,收不到,要么是本地的服务端口没通,但你模拟测试 是可以的,要么是没法正确处理 post 过来的请求,你在这个本地环境下,再起一个 Node 或者 Python 服务,看能不能接收到请求,如果可以,那么可以判断是 Java 这里出了问题,否则是端口转发之类的工具有了问题

0 回复 有任何疑惑可以回复我~
  • 提问者 魂淡_0002 #1
    666,好办法。另起个node 服务是可以接收到的,可是想不明白,java后台用postman模拟数据接口是能通的,怎么从前端就是提交不过去呢?
    回复 有任何疑惑可以回复我~ 2018-08-15 23:39:42
  • Scott 回复 提问者 魂淡_0002 #2
    那就跟前端和 axios 应该关系不大了,看下端口代理这块,是不是转发有问题,或者 Java 这里的服务暴露有问题
    回复 有任何疑惑可以回复我~ 2018-08-16 08:44:31
  • 提问者 魂淡_0002 回复 Scott #3
    发现问题出在这:nuxt.config 中配置了proxy: [
            [
                '/api',
                {
                    target: 'http://127.0.0.1:8080/xxx', // api主机
                    changeOrigin:true,
                }
            ]。
    当用反向代理的方式以 application/json 的方式post到 Java 后端,后端用@RequestBody 方式获取数据会出现400错误(HttpRequest 方式能获取到)。现在解决的办法是:
    不走反向代理
    axios.post('/api/xxxx', data)
    直接用全路径
    axios.post(`${SERVER_URL}/api/xxxx`, data)
    提交后台就能get到了。
    回复 有任何疑惑可以回复我~ 2018-08-16 12:02:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信