【问题标题】:jquery + json load content but show errors in firebug consolejquery + json 加载内容但在 firebug 控制台中显示错误
【发布时间】:2012-01-24 07:15:01
【问题描述】:

现在我可以为网页中的 3 个不同部分加载 json 内容,但显示通过函数中的变量传递内容的几个错误。我解释一下。

第一节使用 jquery 函数从 file1.json 加载内容。

第一节的脚本

var f = $(this).data('residentidx');
$.getJSON("file1.json", function(data) {
    $("#tt_mn").html($("<p class='prod_c'>" + data.articles[f].title + "</p>"));
    $("#content_mn").html($("<p class='prod_d'>" + data.articles[f].esquema + "</p>"));
});

file1.json

{"articles":
[{"title":"......", "esquema":"............"}, ...,{"title":".....","esquema":"......"}]}

脚本第二部分

var i = $(this).data('renovidx');
$.getJSON("file2.json", function(data) {
    $("#tt_mn").html($("<p class='prod_c'>" + data.articles[i].title + "</p>"));
    $("#content_mn").html($("<p class='prod_d'>" + data.articles[i].esquema + "</p>"));
});

file2.json

{"articles":
[{"title":"......", "esquema":"............"}, ...,{"title":".....","esquema":"......"}]}

一切似乎都正常,事实上数据显示正确,但在 firebug 控制台中显示错误。

data.articles[i] is undefined @ http://www.xxxxx.com/js/jquery-1.7.1.min.js:14

这很奇怪,因为当我在 jquery-function 使用 [f] 值在 json 数组中查找元素的第二部分时,firebug 控制台显示 [i] 值的错误。

谢谢

【问题讨论】:

    标签: jquery json firebug


    【解决方案1】:

    您是否验证了您的 JSON?使用http://jsonlint.com/ 或用于html http://json.bloople.net/

    【讨论】:

      【解决方案2】:

      您展示的第二个函数是使用 i 变量,这可以解释为什么它会在此时抛出错误...

      您是否检查过$(this).data('renovidx') 返回的内容?您确定您有一个 JSON 键值对,其键等于 $(this).data('renovidx')

      【讨论】:

      • 第一部分有一个包含 8 个标题的子菜单,当我点击每个标题时,它会加载脚本。如果我为每个部分编写 1 个函数可能是最好的。现在我在 html 中为每 8 个选项重复相同的代码。但是当你说我是否检查过 $(this).data('renovidx') 正在返回时,我不明白你的意思。 ¿?
      • 您正在使用从var i = $(this).data('renovidx'); 返回的值(假设您在每个子菜单项上都有一个“data-revovidx”参数)从您的 JSON 响应中获取一个值:data.articles[i].title 但如果您的 JSON 不包含与 var i 的任何值匹配的键,它会引发 undefined 错误。
      • 子菜单中有 8 项(键 0、1、2、3、4、5、6、7)。不让一个函数加载到文档的头部,只有当我在项目事件中调用它时才能加载它会不会是个问题???奇怪的是,当我在使用 [i] 键的部分时,它显示 [f] 键的错误,它还没有加载.....
      • 对不起,我不明白你最后的评论是什么意思。您能否更新您最初发布的代码以显示触发 AJAX 调用的点击事件?
      猜你喜欢
      • 1970-01-01
      • 2015-12-26
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      相关资源
      最近更新 更多