ajax異步請求詳解
做前端開發(fā)的朋友對于ajax異步更新一定印象深刻,作為剛?cè)肟拥男“?,今天就和大家一起聊聊關(guān)于ajax異步請求的那點(diǎn)事。既然是ajax就少不了jQuery的知識(shí),推薦大家訪問www.w3school.com學(xué)習(xí),教程完善,適合初學(xué)者快速入門。
jQuery的引用,可以通過下載js文件導(dǎo)入,或通過外部導(dǎo)入
導(dǎo)入好jQuery之后我們就可以開始進(jìn)行ajax異步更新請求數(shù)據(jù)了。
1、使用load()方法通過Ajax請求加載服務(wù)器中的數(shù)據(jù),并把返回的數(shù)據(jù)放置到指定的元素中,它的調(diào)用格式為:load(url,[data],[callback])參數(shù)url為加載服務(wù)器地址,可選項(xiàng)data參數(shù)為請求時(shí)發(fā)送的數(shù)據(jù),callback參數(shù)為數(shù)據(jù)請求成功后,執(zhí)行的回調(diào)函數(shù)。
$(function(){
$("#btn").click(function(){
$("ul").html("<img src='Images/Loading.gif' alt=''/>").load("www.manyiaby.com",function(){
});
});
});
2、使用getJSON()方法可以通過Ajax異步請求的方式,獲取服務(wù)器中的數(shù)據(jù),并對獲取的數(shù)據(jù)進(jìn)行解析,顯示在頁面中,它的調(diào)用格式為:jQuery.getJSON(url,[data],[callback])或$.getJSON(url,[data],[callback])其中,url參數(shù)為請求加載json格式文件的服務(wù)器地址,可選項(xiàng)data參數(shù)為請求時(shí)發(fā)送的數(shù)據(jù),callback參數(shù)為數(shù)據(jù)請求成功后,執(zhí)行的回調(diào)函數(shù)。
$(function(){
$("#btn").click(function(){
$.getJson("www.manyiaby.com", function(data){
$.each(data, function(index, sport){
if(index==3)
alert(sport["name"]);
})
});
});
});
3、使用getScript()方法異步請求并執(zhí)行服務(wù)器中的JavaScript格式的文件,它的調(diào)用格式如下所示:jQuery.getScript(url,[callback])或$.getScript(url,[callback])參數(shù)url為服務(wù)器請求地址,可選項(xiàng)callback參數(shù)為請求成功后執(zhí)行的回調(diào)函數(shù)。
$(function(){
$("#btn").click(function(){
$.getScript("www.manyiaby.com", function(){
alert("操作完成");
});
});
});
4、使用get()方法時(shí),采用GET方式向服務(wù)器請求數(shù)據(jù),并通過方法中回調(diào)函數(shù)的參數(shù)返回請求的數(shù)據(jù),它的調(diào)用格式如下:$.get(url,[callback])參數(shù)url為服務(wù)器請求地址,可選項(xiàng)callback參數(shù)為請求成功后執(zhí)行的回調(diào)函數(shù)。
$(function(){
$("#btn").click(function(){
$.get("www.manyiaby.com", function(data){
alert(data.name);
}, "json");
});
});
5、與get()方法相比,post()方法多用于以POST方式向服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器接收到數(shù)據(jù)之后,進(jìn)行處理,并將處理結(jié)果返回頁面,調(diào)用格式如下:$.post(url,[data],[callback])參數(shù)url為服務(wù)器請求地址,可選項(xiàng)data為向服務(wù)器請求時(shí)發(fā)送的數(shù)據(jù),可選項(xiàng)callback參數(shù)為請求成功后執(zhí)行的回調(diào)函數(shù)。
$(function(){
$("#btn").click(function(){
$.post("www.manyiaby.com",{name:"滿藝網(wǎng)", url:"www.manyiaby.com"}, function(data){
alert(data);
});
});
});
6、使用serialize()方法可以將表單中有name屬性的元素值進(jìn)行序列化,生成標(biāo)準(zhǔn)URL編碼文本字符串,直接可用于ajax請求,它的調(diào)用格式如下:$(selector).serialize()其中selector參數(shù)是一個(gè)或多個(gè)表單中的元素或表單元素本身。
$(function(){
$("#btn").click(function(){
alert($("form").serialize());
});
});
7、使用ajax()方法是最底層、功能最強(qiáng)大的請求服務(wù)器數(shù)據(jù)的方法,它不僅可以獲取服務(wù)器返回的數(shù)據(jù),還能向服務(wù)器發(fā)送請求并傳遞數(shù)值,它的調(diào)用格式如下:jQuery.ajax([settings])或$.ajax([settings])其中參數(shù)settings為發(fā)送ajax請求時(shí)的配置對象,在該對象中,url表示服務(wù)器請求的路徑,data為請求時(shí)傳遞的數(shù)據(jù),dataType為服務(wù)器返回的數(shù)據(jù)類型,success為請求成功的執(zhí)行的回調(diào)函數(shù),type為發(fā)送數(shù)據(jù)請求的方式,默認(rèn)為get。
$(function(){
$("#btn").click(function(){
$.ajax({
url:"www.manyiaby.com",
dataType:"text",
data:{name:"滿藝網(wǎng)", url:"wwww.manyiaby.com"},
success:function(data){
alert(data);
}
});
});
});
8、使用ajaxSetup()方法可以設(shè)置Ajax請求的一些全局性選項(xiàng)值,設(shè)置完成后,后面的Ajax請求將不需要再添加這些選項(xiàng)值,它的調(diào)用格式為:jQuery.ajaxSetup([options])或$.ajaxSetup([options])可選項(xiàng)options參數(shù)為一個(gè)對象,通過該對象設(shè)置Ajax請求時(shí)的全局選項(xiàng)值。
$(function () {
$.ajaxSetup({
dataType:"text",
success:function(data){
alert(data);
}
});
$("#btn").bind("click", function () {
$.ajax({
data: {name: "滿藝網(wǎng)", url: "www.manyiaby.com"},
url: "www.manyiaby.com"
});
})
});
});
9、ajaxStart()和ajaxStop()方法是綁定Ajax事件。ajaxStart()方法用于在Ajax請求發(fā)出前觸發(fā)函數(shù),ajaxStop()方法用于在Ajax請求完成后觸發(fā)函數(shù)。它們的調(diào)用格式為:$(selector).ajaxStart(function())和$(selector).ajaxStop(function())其中,兩個(gè)方法中括號(hào)都是綁定的函數(shù),當(dāng)發(fā)送Ajax請求前執(zhí)行ajaxStart()方法綁定的函數(shù),請求成功后,執(zhí)行ajaxStop ()方法綁定的函數(shù)。
$(function () {
$.ajaxStart(function (){
alert("正在請求數(shù)據(jù)...");
});
$.ajaxStop(function (){
alert("數(shù)據(jù)請求完成!");
});
$("#btn").bind("click", function () {
$.ajax({
url: "www.manyiaby.com",
dataType: "json",
success: function (data) {
alert("姓名:"+data.name);
}
});
})
});
10、定義一個(gè)json對象,用于保存學(xué)生的相關(guān)資料,通過$.each()工具函數(shù),獲取數(shù)組中各元素的名稱與內(nèi)容,顯示在頁面中。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
<title>練習(xí)</title>
</head>
<body>
<button>按鈕</button>
<script type="text/javascript">
$(function () {
$("button").bind("click", function () {
var jsonDate = [{name:"滿藝網(wǎng)", url:"www.manyiaby.com"}];
$.each(jsonDate, function(index, data){
alert(data.name);
});
})
});
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
jQuery事件綁定方法學(xué)習(xí)總結(jié)(推薦)
下面小編就為大家?guī)硪黄猨Query事件綁定方法學(xué)習(xí)總結(jié)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
JQuery Ajax通過Handler訪問外部XML數(shù)據(jù)的代碼
JQuery是一款不錯(cuò)的Javascript腳本框架,相信園子里的很多朋友對它都不陌生,我們在開發(fā)Web應(yīng)用程序時(shí)難免會(huì)使用到Javascript腳本,而使用一款不錯(cuò)的腳本框架將會(huì)大大節(jié)省我們的開發(fā)時(shí)間, 并可以毫不費(fèi)力地實(shí)現(xiàn)很多非常酷的效果。2010-06-06
Jquery iframe內(nèi)部出滾動(dòng)條
Jquery 操作頁面中iframe自動(dòng)跟隨窗口大小變化,而不出現(xiàn)滾動(dòng)條,只在iframe內(nèi)部出滾動(dòng)條2010-02-02
jquery獲取一個(gè)元素下面相同子元素的個(gè)數(shù)代碼
本節(jié)主要介紹了jquery如何獲取一個(gè)元素下面相同子元素的個(gè)數(shù)代碼,需要的朋友可以參考下2014-07-07
jQuery pager.js 插件動(dòng)態(tài)分頁功能實(shí)例分析
這篇文章主要介紹了jQuery pager.js 插件動(dòng)態(tài)分頁功能,結(jié)合具體實(shí)例形式分析了pager.js 插件的定義及使用插件進(jìn)行分頁操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-08-08
淺析ajax請求json數(shù)據(jù)并用js解析(示例分析)
這應(yīng)該是每個(gè)web開發(fā)的人員都應(yīng)該掌握的基礎(chǔ)技術(shù),需要的朋友可以參考下2013-07-07
Jquery?on("click")方法綁定事件后執(zhí)行多次的解決方法
這篇文章主要給大家介紹了關(guān)于Jquery?on("click")方法綁定事件后執(zhí)行多次的解決方法,文章通過實(shí)例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用jQuery具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-06-06
通過jQuery源碼學(xué)習(xí)javascript(三)
承接上兩篇繼續(xù)寫下去。我盡量把我明白的地方給大家說清楚。有些大家的提問我也有點(diǎn)搞不明白,如果有人能解答,再好不過了2012-12-12

