【问题标题】:How to get some field from json object through xhr response如何通过 xhr 响应从 json 对象中获取一些字段
【发布时间】:2017-05-20 18:21:03
【问题描述】:

我的 json 对象看起来像这样 {“状态”:“4”, “详细用户”:{ “用户 ID”:“1”, “全名”:Diga } }

还有我的 XmlHttpRequest

var email    = $$(page.container).find('input[name="email"]').val();
var password = $$(page.container).find('input[name="password"]').val();
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function(){
if (xhr.readyState==4 && xhr.status==200){ 
  //var response = JSON.parse(xhr.responseText);
  //alert(response.status);
  //alert(response.detail_user);
  var data=xhr.response;
  var data2=xhr.responseText; // respon like json object above
  alert(data);
  alert(data2);
  alert(data2.detail_user);
  alert(getJSON(data2.status)); //respon undefined
  var asd = JSON.stringify(data2).replace(/\"/g,"");
  alert(asd);
  console.log(xhr.response);//this is the response from the server
  }
}
params = "email=" + email + "&password=" + password;
xhr.open("POST", server+"sign-in/auth",true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Content-length", params.length);
xhr.setRequestHeader("Connection", "close");
xhr.send(params);

我在 cordova 和 phonegap 中的编码,实际上是为了显示 json 成功的所有对象,但是当我只显示一些字段时,我得到未定义的响应。

【问题讨论】:

    标签: javascript json cordova xmlhttprequest


    【解决方案1】:
    JSON.parse(data, (key, value) => {
    

    console.log(key); // 记录当前属性名,最后是“”。 返回值; // 返回未更改的属性值。 });

    【讨论】:

      【解决方案2】:

      您的data2 是一个字符串,因此没有属性status。变化:

      alert(getJSON(data2.status));
      

      alert(getJSON(data2).status);
      

      我假设函数 getJSON() 正在返回 JS 对象。

      【讨论】:

      • 我已经实现了你的建议,但仍然对我不起作用仍然得到警报未定义,实际上我一直在尝试使用 Json.parse 但没有工作,这让我混淆了所有数据都可以显示但是当我想要显示某些字段不起作用
      猜你喜欢
      • 2021-11-26
      • 2020-12-23
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      相关资源
      最近更新 更多