从 Web 调用时 Apiary API 端点返回空数据

Apiary API endpoint returning null data when called from web

我在 Apiary 中有一个模拟 API,如果我使用 cURL 或仅在浏览器中访问我的端点,它 returns:

[
{
  "id": 1,
  "user_id": 1,
  "status": "Review"
  "name": "New York Songwriter",
  "negotiable": true,
  "description": "",
  "created_at": "2015-02-09T02:29:58 +08:00",
  "modified_at": "2015-02-17T05:30:17 +08:00"
},
{
  "id": 2,
  "user_id": 1,
  "status": "Accepted"
  "name": "Licensing Contract",
  "negotiable": false,
  "description": "Third party licensing agreement",
  "created_at": "2015-02-09T02:29:58 +08:00",
  "modified_at": "2015-02-17T05:30:17 +08:00"
}
]

我有一个 React 应用程序,我在 componentWillMount:

中调用的函数中使用 axios 访问这个端点
  componentWillMount() {
    this.loadItems();
  }

  loadItems() {
    var self = this;
    axios({
      url: ENDPOINT,
      method: 'get',
      responseType: 'json'
    })
    .then(function(r) {
      console.log(r);
      var d = r.data;
      self.setState({
        agreements: d
      });
    })
    .catch(function(r) {
      console.log(r);
    });
  }

console.log 我在响应中得到状态 200,但 data 为空。我做错了什么?

感谢 Mayank Shukla 在评论中提供的答案。关键是使用原生的axios GET方法,像这样:

axios.get(ENDPOINT)
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

因为本机 GET 具有内置的所有属性。在我的示例中,我没有定义所有必要的属性。

再次感谢 Mayank!