jQuery ajax獲取json並解析,獲取的json是object對象格式

首先我們使用的是ajax方式,推薦一個學習網址:
http://blog.csdn.net/shiyaru1314/article/details/51065410
這個博主寫的特別好。現在來看我們的例子:
這裏是沒有參數的get方式:

function tryapitest(){
    $.ajax({
        url:"/api/category/top/all",
        type:"get",
        dataType:"json",
        success: function(data) {
	        console.log(data);    
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert(XMLHttpRequest.status);
            alert(XMLHttpRequest.readyState);
            alert(textStatus);
        },
    })
}

控制檯打印出的數據如下:
控制檯信息
可以看到,我們獲取的data由三級組成:ststus,msg,data;
那麼接下來,我們需要獲取data:Array(12)這個數據;
因此在success函數裏面添加如下:

   success: function(data) {
            //console.log(data);
            var item=data.data;
            console.log(item);
           }
        },

此時查看console控制檯的輸出信息:
控制檯信息2
可以看到此時已經獲得Object的信息了,但是如果需要獲取Object裏面具體的屬性,必須要將Object進行遍歷:
代碼如下:

  success: function(data) {
            //console.log(data);
            var item=data.data;
            //console.log(item);
            for(var i=0;i<item.length;i++){
                console.log(item[i]);
            }
        },

查看控制檯的信息:
控制檯信息3
此時就可以獲取對應的數據和屬性啦。Object對象必須要遍歷之後纔可以獲取裏面的屬性,直接item.id是不可以的,必須要item[i].id纔可以。
我們可以將屬性打印在網頁上,代碼如下:

  success: function(data) {
            //console.log(data);
            var item=data.data;
            // console.log(item);

            var htm = "";
            htm += "<table><thead><tr><th>ID</th><th>name</th><th>enName</th></tr></thead><tbody>";
            for(var i=0;i<item.length;i++){

                //console.log(item[i].name);

                    htm += '<tr><td>' + item[i].id + '</td><td>'
                        + item[i].name + '</td><td>'
                        + item[i].enName + '</td><td>';
            }
            htm += '</tbody></table>';
            $("#apitesttry").append(htm);
        },

頁面展示如下:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-hU8EPFxA-1569724174334)(https://img-blog.csdn.net/20170718181051237?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdHdpbmtsZTJzdGFy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
這裏使用的是for方法進行循環,還有each等方法,博主自己目前才學習到這裏,遇到其他難點再來給大家分享吧~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章