我在Apiary中有一个模拟API,如果我用cURL或只是在浏览器中点击我的端点,它会返回:
[
{
"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
为空。我做错了什么?
答案 0 :(得分:0)
感谢Mayank Shukla在评论中的回答。关键是使用原生axios GET方法,如下所示:
axios.get(ENDPOINT)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
因为本机GET内置了所有属性。在我的示例中,我没有定义所有必需的属性。
再次感谢Mayank!