【问题标题】:Axios Get request data comes back with "data: ↵ ↵ ↵ ↵"Axios 获取请求数据返回“数据:↵ ↵ ↵ ↵”
【发布时间】:2018-06-29 08:45:54
【问题描述】:

我正在使用 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 请求,但我还是个新手,所以我希望这不是一个愚蠢的问题。

【问题讨论】:

  • 听起来端点正在为您的应用程序 JSONP 提供服务,这是一个解释如何使用它的答案:stackoverflow.com/questions/3839966/…
  • 好吧,这似乎很有意义。似乎它应该工作。谢谢。

标签: javascript json axios


【解决方案1】:

看起来您正在使用 JSONP 端点。您不能将 axios 与 JSONP 端点一起使用。我会推荐:

  1. 为您正在使用的 API 找到一个备用的非 JSONP 端点,或者
  2. 尝试使用jsonp 包代替该颗粒端点。 https://github.com/axios/axios/blob/master/COOKBOOK.md#jsonp

如 cmets 中所述,您可以在此处了解有关 JSONP 的更多信息:https://stackoverflow.com/a/3840118/3814251


如果您想知道我是如何知道如何回答您的问题的(因为我发现了解其他人如何找到答案很有帮助),这是因为我将检索到的数据识别为 JSONP 端点通常响应的数据。然后我用谷歌搜索“axios jsonp”以查看axios 是否与 JSONP 端点一起使用,这让我可以使用https://github.com/axios/axios/issues/75(注意到 axios 不提供 jsonp 支持)。我按照那个 GitHub 线程中的链接,然后写了我的答案。

【讨论】:

  • 我听说过 JSONP,只是对它一无所知。我也在尝试 jQuery,甚至是 XMLHttpRequest,但什么也得不到。嗯,我学到了一些新东西。谢谢!
猜你喜欢
  • 2020-03-25
  • 2022-01-05
  • 1970-01-01
  • 2019-11-22
  • 1970-01-01
  • 2021-10-21
  • 2019-06-20
  • 2013-09-01
  • 2021-05-11
相关资源
最近更新 更多