1、使用jQuery完成Ajax操作
jQuery對Ajax操作進行了封裝,在jQuery中最底層的方法時$.ajax()
,第二層是load()
,$get()
,$post()
,第三層是$.getScript()
和$.getJSON()
。
2、load()方法:最簡單和最常用
能載入遠程的HTML代碼並插入到DOM中。
結構:load(url[,data][,callback])
參數:
url:String類型,請求HTML頁面的URL地址。
data(可選):Object類型,發送到服務器的key/value數據
callback(可選):Function類型,請求完成時的回調函數,無論請求成功或失敗。
只需使用jQuery選擇器爲HTML片段至目標位置。然後將要加載的文件的url作爲參數傳遞給load()方法即可。
$(function(){
$("a").click(function(){
//使用load()方法處理Ajax
var url = this.href; //可以加限定選擇的標識符裏的內容。"+h2"
var args = {"time":new Date()};
$("#details").load(url,args);
return false;
)};
)};
- 細節部分:
若只需要加載目標HTML頁面內某些元素,則可以通過load()方法的url參數來達到目的。通過url參數指定選擇符。
傳遞方式:load()方法的傳遞參數根據參數data來自動自定,如果沒有參數傳遞,採用GET方式傳遞,否則爲POST方式。
對於必須在加載完才能繼續的操作,load()方法提供了回調函數,該函數有三個參數:代表請求返回內容的data;代表請求狀態的textStatus對象和XMLHttpRequest對象。
3、$get()
,$post()
$get()
方法使用GET方式來進行異步請求。
它的結構是:$get()(url[,data][,callback][,type])
$get()
方法的回調函數只有兩個參數:data代表返回的內容,可以是XML文檔,JSON文件,HTML片段等;textstatus代表請求的狀態,其值可能爲:success,error,notmodify,timeout4種。
這兩種方法是jQuery中的全局函數,而find()等方法都是對jQuery對象進行操作的方法。
4、小結
①什麼是Ajax?
不用刷新頁面,但可以和服務端進行通信的方式,使用Ajax的主要方式是XMLHttpRequest對象。
②使用XMLHttpRequest對象實現Ajax。(瞭解)
③Ajax傳輸數據的三種方式:
XML:笨重,解析困難,但是通用的數據交換格式。
HTML:不需要解析就能直接放到文件中,若僅更新一部分區域,傳輸的數據不是很方便,且HTML代碼需要拼裝。
JSON:小巧,有面向對象的特徵,且有很多第三方的jar包可以吧Java對象或集合轉爲JSON字符串。
②使用jQuery完成Ajax操作
load()
$get()
,$post()
,$.getJSON()
:
基本使用:
$.get(url,args,function(data){
})
請求JSON數據:
$.get(url,args,function(data){
},"JSON")
$.post(url,args,function(data){
},"JSON")
$.getJSON(url,args,function(data){
})