如何使用ajax获取JSON对象的总长度

时间:2016-10-27 06:49:52

标签: javascript jquery json ajax

我在URL中有JSON,我显示了JSON数组的总长度,但没有显示对象的长度。请查看代码并更正代码。

    $(document).ready(function () {
        $.ajax({
            url: "/hehe/GetAllBus",
            data: "",
            type: "GET",
            dataType: "json",
            success: function (dataBus1) {
                loaddataBus(dataBus1);
            },
            error: function () {
                alert("Failed! Please try again.");
            }
        });
    });

    function myFunction() {
        var fruits = dataBus1;
        document.getElementById("demo12").innerHTML = fruits.length;
    }

打印数组的长度

<code>
   <body onload="myFunction()">
       <p id="demo12"</p>
    </body>
</code>

5 个答案:

答案 0 :(得分:0)

$(document).ready(function () {
    $.ajax({
        url: "/hehe/GetAllBus",
        data: "",
        type: "GET",
        dataType: "json",
        success: function (dataBus1) {
            loaddataBus(dataBus1);
        },
        error: function () {
            alert("Failed! Please try again.");
        }
    });
});
function loaddataBus(fruits) {
    document.getElementById("demo12").innerHTML = fruits.length;
}

你甚至不需要身上的负载:

<body>
   <p id="demo12"></p>
</body>

答案 1 :(得分:0)

变化:

success: function (dataBus1) {
            loaddataBus(dataBus1);
},

...

function myFunction() {
    var fruits = dataBus1;
    document.getElementById("demo12").innerHTML = fruits.length;
}

为:

success: function (dataBus1) {
            myFunction(dataBus1);
},

...

function myFunction(dataBus1) {
    var fruits = dataBus1;
    document.getElementById("demo12").innerHTML = fruits.length;
}

答案 2 :(得分:0)

您忘记关闭p标签(在“demo12”之后缺少符号'&gt;')

<code>
<body onload="myFunction()">

<p id="demo12"></p>

</body>
</code>

答案 3 :(得分:0)

如果您使用jQuery,它看起来像是一种更简单,更快捷的方式: 使用$.getJSON

JS(可以在<head>或在<body>中:

<script>
    $(document).ready(function(){
        $.getJSON("/hehe/GetAllBus", function(data){
            $('#demo12').html(data.length);
        });
    });
</script>

<强> HTML:

<body>
    <p id="demo12"></p>
</body>

更多反馈意见:

    $(document).ready(function(){
        $.getJSON("/hehe/GetAllBus", function(){
            console.log("fetched json");
        })
        .done(function(data){
            $('#demo12').html(data.length);
        });
        .fail(function(){
            console.log("error");
        });

    });

答案 4 :(得分:0)

试试这个。在您的代码中,您在ready事件中编写了ajax,该事件将在onload之后触发,因此数据不可用。

function myFunction() {
  $.ajax({
    url: "http://mysafeinfo.com/api/data?list=englishmonarchs&format=json",
    data: "",
    type: "GET",
    dataType: "json",
    success: function(dataBus1) {
      var fruits = dataBus1;
      document.getElementById("demo12").innerHTML = dataBus1.length;
    },
    error: function() {
      alert("Failed! Please try again.");
    }
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<code>
   <body onload="myFunction()">
       <p id="demo12"</p>
    </body>
</code>