【问题标题】:accessing jQuery ajax response object访问 jQuery ajax 响应对象
【发布时间】:2018-02-23 23:01:42
【问题描述】:

我正在尝试从 alphavantage 读取我的 ajax 请求的响应

$(document).ready(function() {

  alert("hey");
  const urlToFetch = 'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&outputsize=full&apikey=demo';

  function getData() {

    $.ajax({
      url: urlToFetch,
      type: 'GET',
      dataType: 'json',

      success(response) {
        console.log(response);
      },
      error(jqXHR, status, errorThrown) {
        console.log(jqXHR);
      }
    });
  }
  getData();

});

【问题讨论】:

  • 我成功地将数据拉下来,但我不熟悉解析 json 数据,尤其是来自 api 响应对象的数据。欢迎任何建议。
  • 您的问题不是关于 ajax,而是关于如何访问对象的成员。多次询问和回答。另外:jsfiddle.net/khrismuc/9aybwcry
  • 那么该问什么正确的问题?以及如何访问该对象的成员?
  • 你检查浏览器的控制台并查看对象的结构了吗?您可以使用点或括号表示法访问成员。例如response["Meta Data"] 会给你第一部分。 response["Meta Data"]["3. Last Refreshed"] 将给出日期。等等。您也可以在 Google 上搜索“js 如何访问对象的成员”
  • 是的,我检查了浏览器控制台,但我对正确的关键字是什么感到困惑,如果您可以分享一个指向文档者的链接,一个有助于我理解这个概念的视频,我将不胜感激.

标签: javascript jquery ajax


【解决方案1】:

当您从 ajax 获取 JSON 时,在您的示例中,如果成功,请使用 JSON.parse(response),然后响应将变为 javascript 对象。然后,您可以对该对象执行任何您需要的操作。

【讨论】:

  • 它已经是一个JS对象,OP正在询问如何访问它的内容。
  • OP 评论说他/她“不熟悉解析 json 数据,尤其是来自 api 响应对象的解析”...JSON.parse 会将响应解析为 javascript 对象。要访问 javascript 对象的内容,这里有一个初学者指南:developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/…
  • 在这个使用dataType: 'json'的具体示例中,传递给success函数的参数已经被解析。 OP正在询问“读取[ing]响应”,即访问对象中的数据。他们称之为“解析”,但指的是访问对象的成员。
  • 好的,等一下,如果没有解析成js对象,json响应是无法访问的。
猜你喜欢
  • 1970-01-01
  • 2022-12-31
  • 1970-01-01
  • 1970-01-01
  • 2013-10-01
  • 2018-02-17
  • 1970-01-01
  • 1970-01-01
  • 2012-05-05
相关资源
最近更新 更多