【问题标题】:Why is my JS file not getting my json code?为什么我的 JS 文件没有得到我的 json 代码?
【发布时间】:2021-01-23 16:47:53
【问题描述】:

我正在尝试在 HTML 表中使用 json 代码,但 javascript 文件没有获取 json 代码。它是有效的 json,并且 javascript 文件中的所有其他内容都正常工作,但根本没有调用 $.getJSON。

$(document).ready(function() { 

    $.getJSON("objects.json", function(data) { 
        var stars = ''; 
        $.each(data, function (i, f) { 

            stars += '<tr>' + 
                '<td>' + f.name + '</td>' + 
                '<td>' + f.orbiting + '</td>' + 
                '</tr>'; 
        }); 
        $('#table').append(stars); 
    }); 
}); 

函数(数据)之后什么都没有发生。

这是 objects.json 文件,它与 main.js 文件位于同一文件夹中:

{
"stars": [
    {
      "name": "Sun",

      .......

      "siderealRotation": 609.12,
      "obliquityToOrbit": 7.25,
      "speedRelativeToStars": 19.4,
      "orbiting": "Galactic Center",

      ....

感谢您的帮助

【问题讨论】:

  • 您正在尝试循环数据,该数据是一个包含起始数组的对象,如果有任何控制台错误,请提供更多详细信息
  • 您好,感谢您的回复。没有控制台错误,我将其更改为循环 data.stars,但问题仍然是函数中没有任何内容被调用。我什至尝试添加一个硬编码的 "$('#table').append("hhhhh");"仍然没有被调用。
  • 我可以通过 GitHub 或其他方式加载它吗?
  • 我尝试使用 json bin,仍然没有工作:(

标签: javascript html json


【解决方案1】:

在你看来,JSON 是一个对象。 data.stars 是一个数组。

所以用

$.each(data.stars, function (i, f) { 

而不是

$.each(data, function (i, f) { 

【讨论】:

  • 您好,感谢您的回复,但仍然没有显示任何内容。
  • 我什至在函数内部添加了一个额外的硬编码行,甚至没有调用
  • 你能用JSON.parse(data)代替data in $.each
猜你喜欢
  • 1970-01-01
  • 2019-05-05
  • 2021-02-07
  • 1970-01-01
  • 2019-11-09
  • 2019-07-17
  • 2016-05-05
  • 2020-10-07
  • 1970-01-01
相关资源
最近更新 更多