我正在使用 Axios 向 Jobs API 站点发出获取请求。每当我 console.log 响应时,我似乎无法使用它。返回的对象是 {data: "↵ ↵ ↵ ↵"},但它看起来像 JSON。
const url = //api string content
axios.get(url)
.then(function(res){
console.log(res);
})
.catch(function(){
console.log("err");
})
如果我使用 console.log(res.data),那么它不会以 JSON 解析返回。看起来它正在返回一个包含所有数据的函数。它看起来像 displayJobs({"keys": "values"})。我无法获取 res.data.displayJobs。当我直接转到链接时,我的 JSON 查看器会正常解析它。如何让数据以 JSON 格式返回? 例如:res.data.jobTitle
感谢您的帮助。我在其他项目上有过一些成功的 API 请求,但我还是个新手,所以我希望这不是一个愚蠢的问题。
最佳答案
看起来您正在使用 JSONP 端点。您不能将 axios
与 JSONP 端点一起使用。我建议:
- 为您正在使用的 API 寻找替代的非 JSONP 端点,或者
- 尝试使用
jsonp
包代替该特定端点。 https://github.com/axios/axios/blob/master/COOKBOOK.md#jsonp
如评论中所述,您可以在此处了解有关 JSONP 的更多信息:https://stackoverflow.com/a/3840118/3814251
如果您想知道我如何知道如何回答您的问题(因为我发现了解其他人如何找到答案很有帮助),那是因为我将检索到的数据识别为 JSONP 端点通常响应的数据。然后我在谷歌上搜索“axios jsonp”,看看 axios
是否与 JSONP 端点一起工作,这让我找到了 https://github.com/axios/axios/issues/75 (注意到 axios 不提供 jsonp be 支持)。我点击了该 GitHub 线程中的链接,然后写下了我的答案。
关于javascript - axios Get请求数据返回 "data: ↵ ↵ ↵ ↵",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48352460/