jquery的ajax非同步請求接收返回json資料方法設定簡單,一個是伺服器處理常式是返回json資料,另一種就是ajax發送設定的datatype設定為jsonp格式資料或json格式都可以。
程式碼範例如下:
複製代碼 代碼如下:
$('#send').click(function () {
$.ajax({
type : "GET",
url : "a.php",
dataType : "jsonp",
success : function (data) {
$.each(data.items, function (i, item) {
$("<img class='para'/> ").attr("src", item.media.m).appendTo("#resText");
if (i == 3) {
return false;
}
});
}
});
});
$.ajax方法如下:
複製代碼 代碼如下:
$.ajax({
type: "POST",
url: ctxRoot+'FolderAction!saveInformSetting.action',
data: 'jsonStr=' + inform_settingListStr,
dataType: "json",
complete: function(data){
//在這裡做些事情,假設返回的json資料裡有name這個屬性
//有時候可以直接data.name或者data['name']去訪問
//但有時候,卻要通過var jsonData = eval("("+data.responseText+")");才可以通過jsonData.name訪問,而且這種情況下,需要是complete而不是success
}
});
$.ajax(options)
這是最根本的JQuery Ajax方法,只有一個參數options,該options參數中包含了請求資訊和回呼函數的資訊。參數內容都是key:value對形式出現,並且都是可選的。
文法如下:
$.ajax({options});
url:(string)發送請求的地址,可以是伺服器頁面也可以是WebService動作。
type:(string)請求方式,POST或GET
data:(object)向伺服器發送請求時帶去的資料。是key:value對形式,如:{name:"grayworm",sex:"male"},如果是數組{works:["work1","work2"]}
dataType:(string)預期返回的資料類型。xml,html,json,text等
beforeSend:(Function)發送ajax請求前被觸發,如果返回false則取消本次請求。如果非同步請求需要顯示gif動畫,那應當在這裡設定相應<img>的可見。
PS:這裡再為大家推薦幾款比較實用的json線上工具供大家參考使用:
線上JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON線上格式化工具:
http://tools.jb51.net/code/jsonformat
線上XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
json代碼線上格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat
線上json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans
C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json