PhoneGap中的JSON解析和列表数据无法正常工作

时间:2018-05-18 10:27:53

标签: javascript jquery html dom phonegap

我正致力于在PhoneGap中进行API调用。我写了一个函数并通过按钮点击事件调用它,我也得到了响应,但我想知道如何显示它。我试过了,但它没有用。

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 :(得分:0)

您正在接收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")两次。我改名为name&amp;电子邮件,但您可以使用您正在获取的联系人的任何属性。