从 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!
我在 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
:
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!