我的json对象看起来像这样 { “地位”: “4”, “detail_user”:{ “userId”:“1”, “fullName”:迪加 } }
和我的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成功的所有对象,但是当我只显示某些字段时,我得到的响应未定义。
答案 0 :(得分:0)
您的data2
是一个字符串,因此没有属性status
。变化:
alert(getJSON(data2.status));
到
alert(getJSON(data2).status);
我假设函数getJSON()
正在返回JS对象。
答案 1 :(得分:0)
JSON.parse(data, (key, value) => {
的console.log(键); //记录当前属性名称,最后一个是""。 回报值; //返回未更改的属性值。 });