jquery
  • json
  • firebug
  • 2012-01-23 31 views 1 likes 
    1

    现在我可以加载json网页中3个不同部分的内容,但会显示通过函数中的变量传递内容的几个错误。我解释。jquery + 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":"......"}]} 
    

    脚本POR第二段

    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":"......"}]} 
    

    所有似乎都没问题的事实数据显示正确,但它显示萤火虫控制台中的错误。

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

    真奇怪,因为当我在第2节中的jQuery功能使用[F]值找到JSON数组元素[I]值萤火控制台显示错误。

    谢谢

    回答

    0

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

    +0

    是的,我做到了。它的好 –

    0

    显示您正在使用i变量的第二个功能,这可以解释为什么它抛出的错误在这一点......

    你检查,看看有什么$(this).data('renovidx')正在恢复?你确定你有一个关键字等于$(this).data('renovidx')的JSON键值对吗?

    +0

    第一节有一个8个标题的子菜单,当我点击每个标题时,它加载脚本。这可能是最好的,如果我为每个部分写1个函数。现在我重复每个8选项在HTML中相同的代码。但是当你说如果我检查看$(this).data('renovidx')是否返回时,我不理解你。 ¿? –

    +0

    您正在使用从var i = $(this).data('renovidx');'(可能每个子菜单项都有一个“data-revovidx”参数)返回的值来从JSON中获取一个值response:'data.articles [i] .title',但是如果你的JSON没有包含一个与'var i'的值相匹配的键,它会抛出一个'undefined'错误。 –

    +0

    子菜单中的8项(键0,1,2,3,4,5,6,7)。这可能是一个问题,不要让一个函数加载到文档的头部,只有当我在事件事件中调用它时才能加载它。奇怪的是,当我在使用[i]键的部分时,它显示[f]键的错误,它尚未加载...... –

    相关问题