簡體   English   中英

顯示JSON回調返回的對象中的數據

[英]Displaying data from the Object returned by JSON Callback

我正在嘗試從服務器獲取數據,並且由於跨域請求,我正在使用JSONP回調。 我只能顯示服務器中的某些數據。 我可以使用來顯示文件中的“統計”信息

  function(rtac) {
    for(i in rtac) {
      rtacs = rtac[i];
      $("#rtac-list").append(rtacs.Stats.ItemCount + "<hr />");
   }

但是我遇到了名為“數據”的部分。 我努力了 ...

$("#rtac-list").append(rtacs.Data.Number + "<hr />");

...並且它不起作用。

服務器文件返回以下內容:

{
    "rtac_edin_0749542489": {
        "Data": {
            "1": {
                "Number": "1",
                "Location": "Non fiction (Sighthill)",
                "Status": "Available",
                "LoanType": "Standard loan",
                "DueDate": "",
                "Shelfmark": "",
                "CopyNo": "A19958",
                "ClassNo": "912.4144"
            }
        },
        "Stats": {
            "DueDateCount": 0,
            "ItemCount": 1
        }
    },
    "rtac_edin_0715810782": {
        "Data": {
            "1": {
                "Number": "1",
                "Location": "Non fiction (Sighthill)",
                "Status": "Available",
                "LoanType": "Standard loan",
                "DueDate": "",
                "Shelfmark": "",
                "CopyNo": "A12675",
                "ClassNo": "941.143"
            },
            "2": {
                "Number": "2",
                "Location": "Non fiction (Sighthill)",
                "Status": "On Loan",
                "LoanType": "Standard loan",
                "DueDate": "31 March 2015",
                "Shelfmark": "",
                "CopyNo": "A12675",
                "ClassNo": "941.143"
            },
            "3": {
                "Number": "3",
                "Location": "Non fiction (Sighthill)",
                "Status": "Available",
                "LoanType": "Standard loan",
                "DueDate": "",
                "Shelfmark": "",
                "CopyNo": "A12675",
                "ClassNo": "941.143"
            }
        },
        "Stats": {
            "DueDateCount": 1,
            "ItemCount": 2
        }
    },
    "rtac_edin_0862671906": {
        "Data": {
            "1": {
                "Number": "1",
                "Location": "Non Fiction (Granton)",
                "Status": "Available",
                "LoanType": "Standard loan",
                "DueDate": "",
                "Shelfmark": "",
                "CopyNo": "0017564",
                "ClassNo": "914.1443"
            }
        },
        "Stats": {
            "DueDateCount": 0,
            "ItemCount": 1
        }
    }
}

這是我用於測試的代碼:

    <html><head><title>RTAC</title>
    <script type="text/javascript"       src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    </head><body>
    <div id='rtac-list'></div>
    <script type="text/javascript">
    $(document).ready(function() {
    var url =  "http://www.lh2cc.net/cwolf/php/dsetask/index.php";
    $.getJSON(url + "?callback=?", null, function(rtac) {
        for(i in rtac) {
            rtacs = rtac[i];
            $("#rtac-list").append(rtacs.Stats.ItemCount + "<hr />");

        }
    });
   });
    </script>
    </body></html>

該文件中的“數據”項的結構似乎有問題,因為它有3個項,我不確定如何處理。

請協助謝謝。

您需要訪問對象的"1"部分:

$("#rtac-list").append(rtacs.Data["1"].Number + "<hr />");

要訪問所有Data結構:

for (j in rtac.Data) {
    if (rtac.Data.hasOwnProperty(j)) {
        $("#rtac-list").append(rtac.Data[j].Number + "<hr />");
    }
}

編輯:

<html><head><title>RTAC</title>
    <script type="text/javascript"       src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
    </head><body>
    <div id='rtac-list'></div>
    <script type="text/javascript">
    $(document).ready(function() {
    var url =  "http://www.lh2cc.net/cwolf/php/dsetask/index.php";
    $.getJSON(url + "?callback=?", null, function(rtac) {
        for(i in rtac) {
            rtacs = rtac[i];
            for (j in rtacs.Data) {
                if (rtacs.Data.hasOwnProperty(j)) {
                    $("#rtac-list").append(rtacs.Data[j].Number + "<hr />");
                }
            }
        }
    });
   });
</script>
</body></html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM