$.ajax是jQuery中一個重要的方法,它可以通過URL請求服務(wù)器端數(shù)據(jù),并將返回的數(shù)據(jù)封裝成一個JSON對象。我們可以通過如下代碼使用$.ajax方法來獲取JSON數(shù)據(jù):
$.ajax({ url:"/data.json", //請求數(shù)據(jù)的URL地址 type:"GET", //請求方式 dataType:"JSON", //請求數(shù)據(jù)類型為JSON格式 success:function(data){ //請求成功后執(zhí)行的函數(shù) console.log(data); //data是一個JSON對象,我們可以通過它獲取服務(wù)器端返回的數(shù)據(jù) }, error:function(){ //請求失敗后執(zhí)行的函數(shù) alert("請求數(shù)據(jù)失敗!"); } });
上述代碼中,url屬性指定了需要請求的數(shù)據(jù)的URL地址。如果服務(wù)器端數(shù)據(jù)是存儲在本地的,那么可以直接使用相對路徑指向數(shù)據(jù)文件。另外,type屬性指定了請求數(shù)據(jù)的方式,可以是GET或POST;dataType屬性指定了請求的數(shù)據(jù)類型,這里我們需要獲取JSON格式的數(shù)據(jù),所以指定了JSON。
當(dāng)請求成功時,success函數(shù)會被執(zhí)行,此時我們可以通過data參數(shù)獲取服務(wù)器端返回的數(shù)據(jù)。如果請求失敗,則會執(zhí)行error函數(shù),我們需要在其中編寫錯誤處理的代碼。
使用$.ajax方法請求JSON數(shù)據(jù)時,還需要注意一個問題,就是跨域請求問題。如果請求的數(shù)據(jù)存儲在同一域名下,那么可以直接使用上述代碼獲取JSON數(shù)據(jù);否則就需要在服務(wù)器端進行跨域設(shè)置,否則無法獲取到數(shù)據(jù)。