axios 获取不到数据错误

1.问题:

打算学习下vue,可是vue-resource做者已经不更新了,而且你们都建议用axios来进行先后端交互,因此就从学习axios开始。前端

可是在使用 axios 的过程当中,本身写的接口居然访问不到,jquery能够访问可是axios不能访问。post也能访问就是axios不能访问。vue

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;jquery

2.缘由:

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

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

3.解决:

把 responseType: 'json' 改为 responseType: 'text'ajax

  便可。json

可是 post 方法 和 jquery 就没有这种烦恼,无论是 text  仍是 json 都能直接判断,多是 responseType 这个属性写死的缘故吧。axios

若是有前端大佬解释下不胜感激。后端

相关文章
相关标签/搜索