2017-01-06 2 views
1

мой объект JSON выглядеть следующим образом { "статус": "4", "detail_user": { "USERID": "1", "FULLNAME": Дига }} и мой XmlHttpRequestкак получить поле от объекта JSon через XHR respon

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); 

мое кодирование в Кордове и PhoneGap, на самом деле для показа всех объектов из JSon успеха, но когда я только некоторые поля я получить respon неопределенным. пожалуйста, помогите мне, если у вас возникнут такие же проблемы, как я, и проблема уже решена.

ответ

0

Ваш data2 был строкой, следовательно, не имеет свойства status. Изменение:

alert(getJSON(data2.status)); 

в

alert(getJSON(data2).status); 

Я предполагал функцию getJSON() возвращается объект JS.

+0

Я уже реализую ваше предложение, но все еще не работаю для меня, все еще получаю предупреждение неопределенным, на самом деле я пытался использовать Json.parse, но не работал, что заставляло меня путать все данные, которые можно показать, но когда я хочу показать какое-то поле, не работает –

+0

Вы можете сказать, что было 'alert (data2)' показанным? – yahyaman

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

console.log (ключ); // регистрируем текущее имя свойства, последнее - «". возвращаемое значение; // возвращаем неизменное значение свойства. });

Смежные вопросы