Axios获取请求数据返回"数据:↵↵↵↵"

时间:2018-01-20 04:02:52

标签: javascript json axios

我正在使用Axios向Jobs API网站发出get请求。每当我在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请求,但我仍然相当新,所以我希望这不是一个愚蠢的问题。

1 个答案:

答案 0 :(得分:1)

您似乎正在使用JSONP端点。您不能将axios与JSONP端点一起使用。我建议:

  1. 查找您正在使用的API的备用非JSONP端点,或
  2. 尝试使用jsonp软件包替代该粒子端点。 https://github.com/axios/axios/blob/master/COOKBOOK.md#jsonp
  3. 如评论中所述,您可以在此处了解有关JSONP的更多信息:https://stackoverflow.com/a/3840118/3814251

    如果您想知道我如何知道如何回答您的问题(因为我发现了解其他人如何找到答案会有所帮助),这是因为我认为检索到的数据是什么JSONP端点通常会响应。然后我用Googled" axios jsonp"看看axios是否与JSONP端点一起工作,这让我https://github.com/axios/axios/issues/75(注意到axios不提供jsonp支持)。我跟着那个GitHub线程中的链接,然后写了我的答案。