微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据不会与getjson一起出现未定义

如何解决数据不会与getjson一起出现未定义

api数据显示为未定义,我不明白为什么。 这是我的HTML代码

$(document).ready(function() {
  $.getJSON("https://data.iledefrance.fr/api/records/1.0/search/?dataset=repertoire-bibliotheques&q=&refine.typeinst=Mus%C3%A9e",function(json) {
    console.log(json.records.fields);
    console.log(json);

    var recordid = '';
    $.each(json,function(key,value) {
      recordid += '<tr>';
      recordid += '<td>' + value.noMetablissement + '</td>';
      recordid += '<td>' + value.telephone + '</td>';
      recordid += '<td>' + value.codepostal + '</td>';
      recordid += '<td>' + value.commune + '</td>';
      recordid += '</tr>';
    });
    $('#recordid_table').append(recordid);
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
  <div class="table-responsive">
    <h1>Musées Parisiens</h1>
    <br />
    <table class="table table-bordered table-striped" id="recordid_table">
      <tr>
        <th>Nom de l'établissemnt</th>
        <th>Numéro de Téléphone</th>
        <th>Code Postal</th>
        <th>Commune</th>
      </tr>
    </table>
  </div>
</div>

这是我的JS代码

我不明白为什么数据在表中显示为未定义。如果可以帮助回答我的问题,这是我的数据集:https://data.iledefrance.fr/api/records/1.0/search/?dataset=repertoire-bibliotheques&q=&refine.typeinst=Mus%C3%A9e 谢谢您的帮助!

解决方法

您的数据结构比您处理数据的方法还要深。

您需要循环的数组是json.records,每个记录都有一个fields对象,您想要的属性在其中

$(document).ready(function() {
  $.getJSON("https://data.iledefrance.fr/api/records/1.0/search/?dataset=repertoire-bibliotheques&q=&refine.typeinst=Mus%C3%A9e",function(json) {
    var recordid = '';
    $.each(json.records,function(key,value) {
      var fields = value.fields;
      recordid += '<tr>';
      recordid += '<td>' + fields.nometablissement + '</td>';
      recordid += '<td>' + fields.telephone + '</td>';
      recordid += '<td>' + fields.codepostal + '</td>';
      recordid += '<td>' + fields.commune + '</td>';
      recordid += '</tr>';
    });
    $('#recordid_table').append(recordid);
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
  <div class="table-responsive">
    <h1>Musées Parisiens</h1>
    <br />
    <table class="table table-bordered table-striped" id="recordid_table">
      <tr>
        <th>Nom de l'établissemnt</th>
        <th>Numéro de Téléphone</th>
        <th>Code Postal</th>
        <th>Commune</th>
      </tr>
    </table>
  </div>
</div>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。