$.ajax
jQuery.ajax( [settings ] )
$.ajax({
url: 'xxx.php',
method: 'GET',
data: {
name: 'Byron',
age: 24,
sex: 'Male'
}
}).done(function(result){
console.log(result);
}).fail(function(jqXHR, textStatus){
consloe.log(textStatus);
});
這樣我們就發送了一個get請求
方法提供了幾個常用的setting
async:預設設定下,所有請求均為異步請求(也就是說這是預設設定為 true )。如果需要發送同步請求,請将此選項設定為 false
beforeSend:請求發送前的回調函數,用來修改請求發送前jqXHR對象,此功能用來設定自定義 HTTP 頭資訊,等等。該jqXHR和設定對象作為參數傳遞
cache:如果設定為 false ,浏覽器将不緩存此頁面。注意: 設定cache為 false将在 HEAD和GET請求中正常工作。它的工作原理是在GET請求參數中附加"_={timestamp}"
context:這個對象用于設定Ajax相關回調函數的上下文。 預設情況下,這個上下文是一個ajax請求使用的參數設定對象
data:發送到伺服器的資料。将自動轉換為請求字元串格式。GET 請求中将附加在 URL 後面,POST請求作為表單資料
headers:一個額外的{鍵:值}對映射到請求一起發送。此設定會在beforeSend 函數調用之前被設定 ;是以,請求頭中的設定值,會被beforeSend 函數内的設定覆寫
method:HTTP 請求方法 (比如:"POST", "GET ", "PUT",1.9之前使用“type”)
了解了這些參數,使用jQuery處理ajax請求就簡單了
$.ajax({
method: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
除了這個方法,jQuery還提供了一些額外的方法
$.get
jQuery.get( [settings] ) / jQuery.post( [settings ] )
這兩個方法專門用來處理get和post請求
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
簡單示例
$.get('/ajax.json').done(function(ret){
console.log(ret)
})
顯示結果:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLic2ct9Wah9VcxNGcfNXPnFGdlNmc192ckR3PyYTZjZjNkJGN2YmYvwFcvwVbvNmL1h2cuFWaq5yd3d3Lc9CX6MHc0RHaiojIsJye.jpg)
image
$.getJSON
jQuery.getJSON( url [, data ] [, success(data, textStatus, jqXHR) ] )
使用一個HTTP GET請求從伺服器加載JSON編碼的資料,這是一個Ajax函數的縮寫,這相當于:
$.ajax({
dataType: "json",
url: url,
data: data,
success: success
});
示例:
$(document).ready(function(){
$("button").click(function(){
$.getJSON("/ajax.json",function(result){
$.each(result, function(i, field){
$("p").append(field + " ");
});
});
});
});
獲得 JSON 資料
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLic2ct9Wah9VcxNGcfNXPnFGdlNmc192ckR3PyYTZjZjNkJGN2YmYvwFcvwVbvNmL1h2cuFWaq5yd3d3Lc9CX6MHc0RHaiojIsJye.jpg)
image