axios 请求数据,返回数据 data为空怎么办

发布于 2022-09-05 05:24:40 字数 1093 浏览 14 评论 0

axios 请求数据,返回数据 data为空

同样的借口用jq的ajax调用就是好的

$.ajax({
            url: '/yzh/inter/login',
            type: 'post',
            data: {'userName': username, 'passWord': password},
            success: function (res) {
                console.log(res);
            }
        });

图片描述

下边是axios的发送

var config = {
       headers: {
             'Content-Type': 'application/x-www-form-urlencoded'
       },
       responseType: 'json',// default
       method: 'post'
};

axios.post('/yzh/inter/login', {
    userName: this.ruleForm.username,
    passWord: this.ruleForm.password                           
},config)
.then((res) => {
    //if (res) {
      //state.username = res.data.data
      console.log("haha",res)
   // }
})

返回结果中 data为null

图片描述

请问这个问题怎么解决啊。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

划一舟意中人 2022-09-12 05:24:40

这是一个非常简单却经常被人忽略的问题,根本原因就是

返回数据不是标准的 JSON
返回数据不是标准的 JSON
返回数据不是标准的 JSON

重要的事情说三遍,三遍,三遍!!!

下面是标准 JSON 格式示例

{
    "data": [
        {
            "bannerId": "1",
            "bannerImg": "https://i.loli.net/2019/08/08/2FHlzwr5ipLYgfM.jpg"
        },
        {
            "bannerId": "2",
            "bannerImg": "https://i.loli.net/2019/08/08/2FHlzwr5ipLYgfM.jpg"
        }
    ],
    "msg": "success"
}

下面是非标准格式示例:

{
    data: [
        {
            "bannerId": "1",
            "bannerImg": "https://i.loli.net/2019/08/08/2FHlzwr5ipLYgfM.jpg",
        },
        {
            "bannerId": "2",
            "bannerImg": "https://i.loli.net/2019/08/08/2FHlzwr5ipLYgfM.jpg",
        }
    ],
    "msg": "success",
}

JSON 格式一定是一个标准的 Stringkey 一定是以双引号开头的字符串,最后一个属性末尾不能有逗号


如何判断是否标准 JSON 格式?

  • 打开 https://www.json.cn 这个 JSON 格式校验网站(或其他正规的 JSON 格式校验网站),把自己的数据复制进去,校验成功即可。
述情 2022-09-12 05:24:40

请问楼主的问题解决了吗?我也遇到了同样的问题

神爱温柔 2022-09-12 05:24:40

请问楼主的问题解决了吗?我也遇到了同样的问题

羁客 2022-09-12 05:24:40

图片描述是否在config设置了transformResponse 转换,没有return data。 就会返回undefiend。本人已验证跳过坑。

那一片橙海, 2022-09-12 05:24:40

估计哪里写法不对

缪败 2022-09-12 05:24:40

尝试在server端分析,把接收到的参数打印出来看看是否一致

心凉 2022-09-12 05:24:40

可能是axios的post参数问题。参考axios POST

坚持沉默 2022-09-12 05:24:40

https://www.npmjs.com/package...
post请求默认是发送json格式的数据

盗琴音 2022-09-12 05:24:40

传递数据格式的问题,axios 默认 application/json 而如果后端 需要application/x-www-form-urlencoded 可以通过 qs 或者 URLSearchParams 处理数据格式

就是爱搞怪 2022-09-12 05:24:40

我的get请求也出现了同样问题,在浏览器中访问有返回值,用axios调用却没返回值

  1. 浏览器访问

图片描述

  1. axios访问

图片描述

萧瑟寒风 2022-09-12 05:24:40

你的响应类型 axios.defaults.responseType='json'; ,要和请求类型一致才不会空headers: {'Content-Type': 'json'},

风蛊 2022-09-12 05:24:40

这是一个非常简单却经常被人忽略的问题,根本原因就是

返回数据不是标准的 JSON
返回数据不是标准的 JSON
返回数据不是标准的 JSON

重要的事情说三遍,三遍,三遍!!!

日记撕了你也走了 2022-09-12 05:24:40

请问楼主的问题解决了吗?我也遇到了同样的问题

请问楼主的问题解决了吗?我也遇到了同样的问题

急求。。。很急的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文