首先,這三個方法都是Ajax方法中一種與服務器交換數據的請求類型。html
1、$.get()jquery
$.get() 方法使用 HTTP GET 請求從服務器加載數據。ajax
使用格式: $.get(url,[data],[callback]) 編程
說明: url爲請求地址,json
data爲請求數據的列表(是可選的,也能夠將要傳的參數寫在url裏面),數組
callback爲請求成功後的回調函數,該函數接受兩個參數,第一個爲服務器返回的數據,第二個參數爲服務器的狀態,是可選參數。瀏覽器
(其中,服務器返回數據的格式實際上是字符串形勢,並非咱們想要的json數據格式,在此引用只是爲了對比說明。) 緩存
1 $("button").click(function(){ 2 $.get("url",function(data,status){ 3 alert("Data: " + data + "nStatus: " + status); 4 }); 5 });
官方語法: $.get(URL,data,function(data,status,xhr),dataType) 服務器
參數 | 描述 |
---|---|
URL | 必需。規定您須要請求的 URL。 |
data | 可選。規定連同請求發送到服務器的數據。 |
function(data,status,xhr) | 可選。規定當請求成功時運行的函數。 額外的參數:
|
dataType | 可選。規定預期的服務器響應的數據類型。 默認地,jQuery 會智能判斷。 可能的類型:
|
2、 $.post()app
$.post() 方法使用 HTTP POST 請求從服務器加載數據。
官方語法: $(selector).post(URL,data,function(data,status,xhr),dataType)
參數 | 描述 |
---|---|
URL | 必需。規定將請求發送到哪一個 URL。 |
data | 可選。規定連同請求發送到服務器的數據。 |
function(data,status,xhr) | 可選。規定當請求成功時運行的函數。 額外的參數:
|
dataType | 可選。規定預期的服務器響應的數據類型。 默認地,jQuery 會智能判斷。 可能的類型:
|
這個函數跟$.get()參數差很少,多了一個type參數,type爲返回的數據類型,能夠是html,xml,json等類型,若是咱們設置這個參數爲:json,那麼返回的格式則是json格式的,若是沒有設置,就 和$.get()返回的格式同樣,都是字符串的。
$.post("emp.do?p=getAllEmp",{id:deptId,x:Math.random()},function(data){ var arry = eval("("+data+")");//去引號,將json字符串去引號編程json類型數組,也能夠在$.post函數後面加一個參數"json",指定接收的數據爲json類型的 for(var i=0;i<arry.length;i++){ var op = new Option(arry[i].empName,arry[i].empId); document.getElementById("emp").options.add(op); } });
3、$.ajax(opiton)
與上面兩個相比,這個能夠執行精確的需求控制。
ajax() 方法用於執行 AJAX(異步 HTTP)請求。
全部的 jQuery AJAX 方法都使用 ajax() 方法。該方法一般用於其餘方法不能完成的請求。
官方語法: $.ajax({name:value, name:value, ... })
而全部可能出如今括號裏面的參數列表以下: (比較重要和常見的已經標紅)
名稱 | 值/描述 |
---|---|
async | 布爾值,表示請求是否異步處理。默認是 true。 |
beforeSend(xhr) | 發送請求前運行的函數。 |
cache | 布爾值,表示瀏覽器是否緩存被請求頁面。默認是 true。 |
complete(xhr,status) | 請求完成時運行的函數(在請求成功或失敗以後均調用,即在 success 和 error 函數以後)。 |
contentType | 發送數據到服務器時所使用的內容類型。默認是:"application/x-www-form-urlencoded"。 |
context | 爲全部 AJAX 相關的回調函數規定 "this" 值。 |
data | 規定要發送到服務器的數據。 |
dataFilter(data,type) | 用於處理 XMLHttpRequest 原始響應數據的函數。 |
dataType | 預期的服務器響應的數據類型。 |
error(xhr,status,error) | 若是請求失敗要運行的函數。 |
global | 布爾值,規定是否爲請求觸發全局 AJAX 事件處理程序。默認是 true。 |
ifModified | 布爾值,規定是否僅在最後一次請求以來響應發生改變時才請求成功。默認是 false。 |
jsonp | 在一個 jsonp 中重寫回調函數的字符串。 |
jsonpCallback | 在一個 jsonp 中規定回調函數的名稱。 |
password | 規定在 HTTP 訪問認證請求中使用的密碼。 |
processData | 布爾值,規定經過請求發送的數據是否轉換爲查詢字符串。默認是 true。 |
scriptCharset | 規定請求的字符集。 |
success(result,status,xhr) | 當請求成功時運行的函數。 |
timeout | 設置本地的請求超時時間(以毫秒計)。 |
traditional | 布爾值,規定是否使用參數序列化的傳統樣式。 |
type | 規定請求的類型(GET 或 POST)。 |
url | 規定發送請求的 URL。默認是當前頁面。 |
username | 規定在 HTTP 訪問認證請求中使用的用戶名。 |
xhr | 用於建立 XMLHttpRequest 對象的函數。 |
示例:
1 //根據id查詢數據 2 $.ajax({ 3 type:"POST", //請求類型 4 url: "你的url地址", 5 dataType:"json",//服務器返回的數據類型 6 async: false, //是否同步 7 data:{ //這裏須要注意的是,這個data是作爲參數傳值到後臺的,由於是post,因此能夠定義多個 8 "id" : id 9 //"name": "youName", //注意,這裏只是示範,冒號前面爲變量名稱,後面爲須要傳遞的值 10 //"age" : "youAge", 11 //"sex" : "youAge", 12 //"other" : "other" 13 }, 14 success:function(data){ //回調結果,若是成功 15 if(data.status == 0){ //判斷狀態碼 16 //刷新 17 $("#easyuiDatagrid").datagrid("reload"); 18 } 19 }, 20 failure:function(result) { 21 parent.$.messager.show({title : "提示",msg : "失敗,請聯繫管理員",timeout : 3000}); 22 } 23 });
參考:
$.ajax() 參數詳細說明:http://www.cnblogs.com/tylerdonet/p/3520862.html
三個方法區別詳細解讀:http://www.cnblogs.com/liuling/archive/2013/02/07/sdafsd.html
Ajax方法集的連接:http://www.runoob.com/jquery/jquery-ref-ajax.html