axios.get()返回未定义的响应

时间:2018-07-11 22:46:51

标签: ajax rest xmlhttprequest axios aurelia

我在aurelia项目中使用axios,并按照他们的文档进行设置,就像这样

import Axios from '../../node_modules/axios/index';

export class testService {
  constructor() {
    this.axios = new Axios({
      withCredentials: false,
      headers:{
        "Accept": "application/json"
      },
      baseURL: 'http://localhost:3000/'
    });
  }

  test() {
    this.axios.get('/items')
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      })
      .then(function () {
      });
  }
}

我有一个运行在“ http://localhost:3000/items”上的api服务器,并在Chrome和Postman中点击了该网址,我可以获得有效的JSON响应。但是,运行上述代码(即,从中调用test()方法),记录的响应为undefined

我已经查看了类似问题的其他答案,但是到目前为止,它们都没有为我工作。有人知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

new Axios({ ...config ... })签名似乎有误。根据{{​​3}},您需要使用.create方法来创建axios实例:

this.axios = Axios.create({
  withCredentials: false,
  headers:{
    "Accept": "application/json"
  },
  baseURL: 'http://localhost:3000/'
});