七
:Ajax支援
通用方式:
$.ajax(prop) 通過一個ajax請求,回去遠端資料,prop是一個hash表,它可以傳遞的key/value有以下幾種。
(String)type:資料傳遞方式(get或post)。
((String)url:資料請求頁面的url
((String)data:傳遞資料的參數字串,只適合post方式
((String)dataType:期待資料返回的資料格式(例如 "xml", "html", "script",或 "json")
((Boolean)ifModified: 當最後一次請求的相應有變化是才成功返回,預設值是false
((Number)timeout:設定時間延遲請求的時間。可以參考$.ajaxTimeout
((Boolean)global:是否為當前請求觸發ajax全域事件,預設為true
((Function)error:當請求失敗時觸發的函數。
((Function)success:當請求成功時觸發函數
((Function)complete:當請求完成後出發函數
jQuery代碼及說明
$.ajax({url: "ajax.htm",
success:function(msg){
$(div"#a").html(msg);
}
});
將ajax.htm返回的內容作為id為a的div內容
$.ajax({ url: "ajax.aspx",
type:"get",
dataType:"html",
data: "name=John&location=Boston",
success:function(msg){
$("#a").html(msg);
}
});
用get方式向ajax.aspx頁面傳參數,並將返回內容負給id為a的對象。
$.ajaxTimeout(time) 佈建要求結束時間
$.ajaxTimeout( 5000 )
其它簡化方式:
$.get(url, params, callback) 用get方式向遠程頁面傳遞參數,請求完成後處理函數,除了url外,其它參數任意選擇!
$.get( "ajax.htm" , function(data){ $("#a").html(data) })$.get( "ajax.asp",
{ name: "young", age: "25" },
function(data){ alert("Data Loaded: " + data); }
)
$.getIfModified(url, params, callback) 用get方式向遠程頁面傳遞參數,從最後一次請求後如果資料有變化才作出響應,執行函數callback
$.getJSON(url, params, callback) 用get方式向遠程json對象傳遞參數,請求完成後處理函數callback。
$.getScript(url, callback) 用get方式載入並運行一個遠程javascript檔案。請求完成後處理函數callback。
$.post(url, params, callback) 用post方式向遠程頁面傳遞參數,請求完成後處理函數callback
load(url, params, callback) 載入一個遠程檔案並載入頁面DOM中,並執行函數callback
$("#a").load("ajax.htm", function() { alert("load is done"); } );
向ajax.htm頁面發出請求,將返回結果裝入id為a的內容中,然後再執行函數callback。
loadIfModified(url, params, callback) 用get方式向遠程頁面傳遞參數,從最後一次請求後如果資料有變化才作出響應,將返回結果載入頁面DOM中,並執行函數callback
ajaxStart(callback) 當ajax請求發生錯誤是時執行函數callback
ajaxComplete(callback) 當ajax請求完成時執行函數callback
ajaxError(callback) 當ajax請求發生錯誤時執行函數callback
ajaxStop(callback) 當ajax請求停止時執行函數callback
ajaxSuccess(callback) 當ajax請求成功時執行函數callback