JavaScript:如何在 AJAX 调用中使用 jQuery 循环遍历 JSON 对象

标签 javascript jquery json ajax

我在学习这个概念时遇到了困难。

我有一个 JSON 文件,其中包含医院列表、地址、营业时间和电话。

我想从 JSON 数据进行 AJAX 调用并将数据列出到屏幕上。

当我尝试仅列出地址时,我只能列出第一家医院。

如何使用列出对象及其属性的循环来编写此代码?

有人可以向我解释一下吗?

请帮忙 - 提前谢谢您。

JSON --

https://api.myjson.com/bins/b29r7

JS --

var url = 'https://api.myjson.com/bins/b29r7';

$.ajax({
    url: url,
    method: 'GET',
}).done(function(result){
    var data = result.surrey;
    for(var i=0; i<data.length; i++){
        $('#data').each(function(index, ele){
            $(ele).html(data[index].hospital);
        });
    }
}).fail(function(err){
    throw err;
});

HTML --

<p id="data"></p>

最佳答案

这是一个工作示例:

var url = 'https://api.myjson.com/bins/b29r7';

$.ajax({
  url: url,
  method: 'GET',
}).done(function(result) {
  // JSON data array
  var data = result.surrey;

  // get DOM node to be parent of child list nodes
  var $data = $('#data');

  // iterate through each object in JSON array
  data.forEach(function(item) {

    // create an unordered list node
    var $ul = $('<ul></ul>');

    // iterate through all the properties of current JSON object
    for (var field in item) {

      // append list item node to list node
      $ul.append(`<li>${field}: ${item[field]}</li>`);
    }

    // append list node to parent node
    $data.append($ul);
  });
}).fail(function(error) {
  console.error(error);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="data"></div>

JSFiddle 演示:https://jsfiddle.net/L6j8n17j/4/

关于JavaScript:如何在 AJAX 调用中使用 jQuery 循环遍历 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43351617/

相关文章:

javascript - 删除谷歌电子表格中的所有空行

javascript - 如果语句放错了地方

javascript - 从 javascript 调用 jquery 函数不工作

java - 使用 JsonPath 在不知道键的情况下提取值

javascript - 在下载对话框显示上调用 javascript 函数

javascript - “this”不是代码分割中的函数

jquery - jquery ui datetimepicker 不起作用(node.js + ejs + Express)

javascript - 使用 jQuery 获取 child id

SQL 数据工具 Visual Studio 语法错误但不在 Management Studio 中

JSONRenderer 不会序列化 : b' {"id" :"11122211133311"}' is not JSON serializable