【问题标题】:Receive Single Data from xml从 xml 接收单个数据
【发布时间】:2019-01-14 06:06:00
【问题描述】:

我从 使用 ajax 的服务器 带来了一些数据。 现在我想,不带所有数据,只有namee是inter。 我怎样才能做到这一点? 我的代码

const url = 'https://jsonplaceholder.typicode.com/users'

const xhr = new XMLHttpRequest()

xhr.onreadystatechange = () => {
    console.log(xhr.response);
}
xhr.open('GET', url)
xhr.send()

【问题讨论】:

  • 你想要的输出到底是什么?
  • 我想从所有信息中获取所有用户名。
  • 准确地在对您的问题进行编辑时发布您想要的格式,以便清楚地说明 - 一组名称,还是什么?
  • 如果只需要用户名,网站上没有支持此功能的 API。您需要手动映射数据以仅获取名称。看看Array.prototype.map
  • 这里写的很清楚。

标签: javascript ajax xml


【解决方案1】:

您可以遍历 xhr 响应并获取用户的姓名。

   xhr.onreadystatechange = () => {
     if(xhr.response) {
       let userResponse = JSON.parse(xhr.response);
       for (index in userResponse) {
           console.log(userResponse[index].name);
       }
     }
   }

您甚至可以将其保存在临时变量中并进行进一步操作。

但是,如果您的意思是只从服务器中获取名称,那么除非服务器公开 API 来执行此操作,否则这是不可能的。

如果您有权访问服务器,则可以创建一个 API 来执行此操作。但是,如果您的服务器使用了 graphQL,则可以在发出 API 请求的同时进行查询。

【讨论】:

  • 现在它正在工作,但顶部显示错误。未捕获的 SyntaxError:在 XMLHttpRequest.xhr.onreadystatechange (index.js:7) 处的 JSON.parse () 处的 JSON 输入意外结束
  • 那是因为在收到响应之前xhr响应会是空的。这就是您最初遇到错误的原因。我添加了一个额外的检查来验证这一点。请立即尝试。如果解决了问题,请接受答案。
  • 是的,您的回答对我很有用并解决了我的问题,我想要什么。我肯定接受答案。如果需要,您也可以投票给我的问题。
猜你喜欢
  • 1970-01-01
  • 2021-07-04
  • 1970-01-01
  • 1970-01-01
  • 2018-10-23
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多