Разбор JSON и листинг данных в PhoneGap не работает - PullRequest
0 голосов
/ 18 мая 2018

Я работаю над вызовом API в PhoneGap.Я написал функцию и вызывал ее из события нажатия кнопки, и я тоже получаю ответ, но я хочу знать, как его отобразить.Я пытался, но это не работает.

function getContactList() {
  console.log("Entering getContactList()");
  $.ajax({
    url: "https://api.androidhive.info/contacts/",
    dataType: "json",
    cache: false,
    error: function(xhr, ajaxOptions, thrownError) {
      debugger;
      alert(xhr.statusText);
      alert(thrownError);
    },
    success: function(json) {
      console.log("====CONTACTLIST ---->", json);

      $(json).find("contacts").each(function() {
        var html = '<li>' + $(this).find("name").text() +
          ' ' + $(this).find("name").text() + '</li>';
        $('#contacts').append(html);
      });
    }
  });
}

1 Ответ

0 голосов
/ 18 мая 2018

Вы получаете строку JSON, которая затем автоматически конвертируется jQuery в объект JavaScript, поэтому вы можете напрямую с ней взаимодействовать и не должны преобразовывать ее в объект jQuery, например $(json).Измените код внутри success на этот:

for (var i = 0; i < json.contacts.length; i++) {
  var c = json.contacts[i];
  var html = '<li>' + c.name + ' ' + c.email + '</li>';
  $('#contacts').append(html);
}

Примечание: похоже, в вашем коде есть ошибка, вы дважды используете find("name").Я изменил его на имя и адрес электронной почты, но вы можете использовать любое свойство контактов, которые вы получаете.

...