互聯(lián)網(wǎng) 政府門戶網(wǎng)站建設方案最新國際新聞50條簡短
概述
JQuery發(fā)送ajax請求的方法有很多,其中最基本的方法是$.ajax,在其中封裝的方法有 $.get, $post等。我們分別舉了不同的示例。
數(shù)據(jù)格式
首先,瀏覽器與服務器之間傳輸數(shù)據(jù)所采用的格式,比較常見的有json,jsonp,html,text,xml,等,目前由于json占用更小存儲,并且是JavaScript原生格式,因此大家大部分的選擇。
一:可選字段
1,url:鏈接地址,字符串表示
2,data:需發(fā)送到服務器的數(shù)據(jù),GET與POST都可以,將自動轉換為請求字符串格式,以 Key/value 的鍵值對形式表示,格式為{A: '...', B: '...'}
3,type:"POST" 或 "GET",請求類型
4,timeout:請求超時時間,單位為毫秒,數(shù)值表示
5,cache:是否緩存請求結果,bool表示
6,contentType:內(nèi)容類型,默認為"application/x-www-form-urlencoded"
7,dataType:服務器響應的數(shù)據(jù)類型,字符串表示;當填寫為json時,回調(diào)函數(shù)中無需再對數(shù)據(jù)反序列化為json
8,success:請求成功后,服務器回調(diào)的函數(shù)
9,error:請求失敗后,服務器回調(diào)的函數(shù)
10,complete:請求完成后調(diào)用的函數(shù),無論請求是成功還是失敗,都會調(diào)用該函數(shù);如果設置了success與error函數(shù),則該函數(shù)在它們之后被調(diào)用
11,async:是否異步處理,bool表示,默認為true;設置該值為false后,JS不會向下執(zhí)行,而是原地等待服務器返回數(shù)據(jù),并完成相應的回調(diào)函數(shù)后,再向下執(zhí)行
12,username:訪問認證請求中攜帶的用戶名,字符串表示
舉例:
該方法用于執(zhí)行Ajax請求,常用于其他jQuery Ajax方法不能完成的請求,也許我們可以把它稱為"jQuery中Ajax系列方法之母"。
//ajax
$.ajax({url: "/greet",data: {name: 'name'},type: "Get",dataType: "json",success: function(data) {// data = jQuery.parseJSON(data); //dataType指明了返回數(shù)據(jù)為json類型,故不需要再序列化}
});
//提交from數(shù)據(jù)
$.ajax({type : "POST",url : 'http://www.baidu.com',data : $("form").serialize(), //不帶文件的form表單success : function(data){console.log(data);}
});
//$.get方法
var params = {"username":"ceshiname","password":"123456"};
$.get("/demo",params,function(obj){console.log(obj);
},"json");$.ajax({type : "GET",url : 'http://www.baidu.com',success : function(html){console.log(html);}
});
//$.post方法
var params={"username":"ceshiname","password":"123456"};
$.post("/demo",params,function(obj){console.log(obj);
},"json");$.ajax({type : "POST",url : 'http://www.baidu.com',data : {query : "javascript"},contentType : "application/x-www-form-urlencoded",success : function(data){console.log(data);}
});