• axios 获取不到数据错误


    1.问题:

    打算学习下vue,但是vue-resource作者已经不更新了,并且大家都建议用axios来进行前后端交互,所以就从学习axios开始。

    但是在使用 axios 的过程中,自己写的接口竟然访问不到,jquery可以访问但是axios不能访问。post也能访问就是axios不能访问。

    axios.post('test',{})
    .then(function (response){
        console.log('axios.post:');
        console.log(response.data);
    })
    .catch(function (error){
        console.log(error);
    });
    
    axios({
        url: 'test',
        method: 'post',
        responseType: 'json', // 默认的json
        data: {
            //'a': 1,
            //'b': 2,
        }
    }).then(function (response) {
        console.log('axios:');
        console.log(response);
        console.log(response.data);
    }).catch(function (error) {
        console.log(error);
    });
    $.ajax({
        type: 'POST',
        url: 'test',
        data: {},
        success: function(data) {
            console.log("ajax:");
            console.log(data);
        },
        error: function() {}
    });

    可以看到 axios 为null;

    2.原因:

     单个字符串json没有解析,直接返回的text格式。。。。 

        @RequestMapping(value="/test")
        public String test() {
            return "hello world!";
        }

    3.解决:

    把 responseType: 'json' 改成 responseType: 'text'

      即可。

    但是 post 方法 和 jquery 就没有这种烦恼,不管是 text  还是 json 都能直接判断,可能是 responseType 这个属性写死的缘故吧。

    如果有前端大佬解释下不胜感激。

  • 相关阅读:
    正则表达式---用户验证
    最短路 Dijkstra
    最短路 Dijkstra+堆优化
    LCIS(最长公共上升子序列)
    最小生成树 Kruskal
    网络流 最大流
    网络流 最小费用最大流
    树链剖分
    树状数组
    双重Hash
  • 原文地址:https://www.cnblogs.com/lishuaiqi/p/10922071.html
Copyright © 2020-2023  润新知