本文僅供參考。
本文主要針對初學者使用API數(shù)據(jù)不知道如何調(diào)用,那么用JQ來讀取和返回是醉為簡單的。本文主要以天行數(shù)據(jù)和聚合數(shù)據(jù)為例子,因為他們都提供了免費的API接口。大家可以自己去申請。
API數(shù)據(jù)大多數(shù)返回的數(shù)據(jù)類型為json,那么我們先看兩組返回的數(shù)據(jù)。
1:天行數(shù)據(jù)的返回數(shù)據(jù)。拿抖音熱點榜舉例:
{ "code": 200, "msg": "success", "newslist": [ { "hotindex": 11552765, "label": 5, "word": "郭聰明暫停唱歌接受治療" }, { "hotindex": 8354588, "label": 0, "word": "5年5訴離婚男方將提上訴" }, { "hotindex": 6483092, "label": 1, "word": "國足醉新身價出爐" } ] }
可以看到我們需要的數(shù)據(jù)在:newslist這個數(shù)組中,然后數(shù)據(jù)中又包括了一個或者多個對象。
2:再看看聚合數(shù)據(jù)的返回。舉個例子為身份證查詢。
{ "resultcode":"200", "reason":"成功的返回", "result":{ "area":"湖北省武漢市黃陂區(qū)", "sex":"男", "birthday":"1992年01月20日", "verify":"" }, "error_code":0}
可以看到我們需要的數(shù)據(jù)是在:result中,他包括了一個對象。沒有數(shù)組。
一個是數(shù)組,一個是對象。 這是他們醉大的區(qū)別。
接下來我們寫JS請求和返回。
$.ajax({ url:'http://apis.juhe.cn/idcard/index', type:'get', dataType:'jsonp', //注意聚合數(shù)據(jù)這里要用JSONP才能正常返回 data:{ //傳遞參數(shù) cardno:'420116199201203716', //傳遞參數(shù),可以通過前端獲取,方法如下 dtype:'json', key:'76ca6507bea4自己申請的KEY' }, success:function(info){ console.log(info); $("#result").append(info.result.sex+info.result.area+info.result.birthday); // 這是聚合數(shù)據(jù)直接輸出的 }, error:function(error,Msgerror){ console.log(Msgerror); alert("錯誤"); } })
假如是天行數(shù)據(jù)的數(shù)組,要如何輸出?
$("#TJ").click(function() { //數(shù)據(jù)提交 var url="http://api.tianapi.com/txapi/star/index"; var key="49fed76b6a"; var urlb=$("input#test").val(); //獲取到INPUT輸入值 $.ajax({ url: url, type: 'POST', dataType: 'json', //這里用JSON,和上面聚合數(shù)據(jù)JSONP不同。 data:{ //傳遞參數(shù) astro:urlb, key:key, }, //成功后返回數(shù)據(jù) success:function(date){ var i=0; $.each(date.newslist, function(idx,obj) { $("#result").append("<div class='dy'>"+"<div class='title'>"+obj.type+"</div>"+"<div class='desc'>"+obj.content+"</div>"+"</div>"); }); }, error:function(error){ alert(error); }, //成功后返回數(shù)據(jù)結(jié)束 }); }); })