zoukankan      html  css  js  c++  java
  • 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 这个属性写死的缘故吧。

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

  • 相关阅读:
    Linux基础命令:crontab
    linux基础命令:su和sudo
    Linux基础知识:文件权限管理以及umask
    Linux基础命令:useradd和groupadd
    Linux基础命令:more和less
    Linux基础命令:ln
    Linux基础命令:chattr和lsattr
    Linux基础命令:who和w
    vue项目1-pizza点餐系统6-路由精讲之复用router-view
    vue项目1-pizza点餐系统5-全局守卫
  • 原文地址:https://www.cnblogs.com/lishuaiqi/p/10922071.html
Copyright © 2011-2022 走看看