jquery
  • json
  • firebug
  • 2012-01-23 58 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]鍵的錯誤,它尚未加載...... –

    相關問題