簡體   English   中英

如何通過xhr響應從json對象獲取一些字段

[英]How to get some field from json object through xhr response

我的json對象看起來像這樣{“status”:“4”,“detail_user”:{“userId”:“1”,“fullName”: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成功的所有對象,但是當我只顯示某些字段時,我得到的響應未定義。

您的data2是一個字符串,因此沒有屬性status 更改:

alert(getJSON(data2.status));

alert(getJSON(data2).status);

我假設函數getJSON()正在返回JS對象。

JSON.parse(data, (key, value) => {

的console.log(鍵); //記錄當前屬性名稱,最后一個是“”。 回報值; //返回未更改的屬性值。 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM