我只是想使用Axios进行快速测试,以运行来自eBay API的GET请求。
这是我的代码:
var express = require("express");
var router = express.Router();
const axios = require("axios");
var url = "http://svcs.ebay.com/services/search/FindingService/v1";
url += "?OPERATION-NAME=findItemsAdvanced";
url += "&SERVICE-VERSION=1.0.0";
url += "&SECURITY-APPNAME=XXXX";
url += "&GLOBAL-ID=EBAY-US";
url += "&RESPONSE-DATA-FORMAT=JSON";
url += "&categoryId=213"; // baseball
url += "&keywords=t206"; // change value to title
url += "&paginationInput.entriesPerPage=6";
console.log(url);
axios({
method: "get",
url: url
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
module.exports = router;
当我在浏览器中输入时,字符串的URL有效。但是,当我运行节点时,得到以下信息:
{
findItemsAdvancedResponse: [
{
ack: [Array],
version: [Array],
timestamp: [Array],
searchResult: [Array],
paginationOutput: [Array],
itemSearchURL: [Array]
}
]
}
我试图将响应控制台日志更改为此
console.log(response.data.searchResult)
和
这个
console.log(response.data.findItemsAdvancedResponse.searchResult)
但是我一直不确定。
有什么想法吗?
答案 0 :(得分:2)
这是因为findItemsAdvancedResponse
是Array
。因此,做这样的事情
console.log(response.data.findItemsAdvancedResponse[0].searchResult)
还要注意,searchResult
也是一个数组。因此您必须遍历它才能获得所有Results