【问题标题】:Extract data from HTTP responseText从 HTTP responseText 中提取数据
【发布时间】:2023-03-06 07:50:01
【问题描述】:

我想做类似的事情 - How to get “Data” field from xhr.responseText?

但就我而言,我想从响应文本中提取“id”和“email”字段。

【问题讨论】:

    标签: javascript http xmlhttprequest


    【解决方案1】:

    看到响应似乎是 JSON,您将解析响应..

    var j = JSON.parse(xhr.responseText);
    //show header id
    console.log(j.$id);
    //show each email & id
    j.Data.forEach(function (e) { console.log(e.email, e.$id); });
    

    【讨论】:

    • 为什么是 '$id' 而不是 'id' ? JS 知道任何 sigll 吗?
    • 我正在查看示例 JSON,它是 $id.. 但我说我不需要引用文字,并且可以只使用 j.$id。我想我会编辑它。
    • 好的,抱歉,没有查看 JSON。但是,是的,J 可以使用 sigil,就像 JQuery 一样 :) 但这没有特殊含义 AFAIK
    • 传递给函数的 e 是什么?
    • 没有 e 被传递给函数,即函数回调。然后将此回调发送到数组项 Data.forEach,您可以随意调用此参数,例如。你可能会喜欢 dataItem 。然后是 dataItem.$id 等。
    【解决方案2】:

    获取 id 和 email 字段的步骤:

    1. 解析json:

      var json = JSON.parse(xhr.responseText)

      var data = json.Data

    2. 这里,data 是一个 javascript 数组:

      [
        {
          $id: "2",
          email: "anu@gmail.com"
        },
        {
          $id: "3",
          email: "anu@gmail.com"
        }
      ]
      
    3. 对于数组中的每个对象,打印$idemail

      data.forEach(function(datum) {
        console.log('Id': datum.$id)
        console.log('Email': datum.email)
      })
      

    【讨论】:

      猜你喜欢
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-26
      相关资源
      最近更新 更多