四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

從零開始學(xué)習(xí)jQuery (六) AJAX快餐

系列文章導(dǎo)航:

從零開始學(xué)習(xí)jQuery (一) 開天辟地入門篇

從零開始學(xué)習(xí)jQuery (二) 萬能的選擇器

從零開始學(xué)習(xí)jQuery (三) 管理jQuery包裝集

從零開始學(xué)習(xí)jQuery (四) 使用jQuery操作元素的屬性與樣式

從零開始學(xué)習(xí)jQuery (五) 事件與事件對(duì)象

從零開始學(xué)習(xí)jQuery (六) AJAX快餐

從零開始學(xué)習(xí)jQuery (七) jQuery動(dòng)畫-讓頁面動(dòng)起來!

從零開始學(xué)習(xí)jQuery (九) jQuery工具函數(shù)

從零開始學(xué)習(xí)jQuery (十) jQueryUI常用功能實(shí)戰(zhàn)

從零開始學(xué)習(xí)jQuery (十一) 實(shí)戰(zhàn)表單驗(yàn)證與自動(dòng)完成提示插件


一.摘要

本系列文章將帶您進(jìn)入jQuery的精彩世界, 其中有很多作者具體的使用經(jīng)驗(yàn)和解決方案,  即使你會(huì)使用jQuery也能在閱讀中發(fā)現(xiàn)些許秘籍.

本篇文章講解如何使用jQuery方便快捷的實(shí)現(xiàn)Ajax功能.統(tǒng)一所有開發(fā)人員使用Ajax的方式.

二.前言

Ajax讓用戶頁面豐富起來, 增強(qiáng)了用戶體驗(yàn). 使用Ajax是所有Web開發(fā)的必修課. 雖然Ajax技術(shù)并不復(fù)雜, 但是實(shí)現(xiàn)方式還是會(huì)因?yàn)槊總€(gè)開發(fā)人員的而有所差異.jQuery提供了一系列Ajax函數(shù)來幫助我們統(tǒng)一這種差異, 并且讓調(diào)用Ajax更加簡(jiǎn)單.

三.原始Ajax與jQuery中的Ajax

首先通過實(shí)例, 來看一下jQuery實(shí)現(xiàn)Ajax有多簡(jiǎn)單. 下面是一個(gè)使用原始Ajax的示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht
ml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery Ajax</title>
<script type="text/Javascript">
$(
function()
{
var xhr = new AjaxXmlHttpRequest();
$(
"#btnAjaxOld").click(function(event)
{
var xhr = new AjaxXmlHttpRequest();
xhr.onreadystatechange
= function()
{
if (xhr.readyState == 4)
{
document.getElementById(
"divResult").innerHTML = xhr.responseText;
}
}
xhr.open(
"GET", "data/AjaxGetCityInfo.ASPx?resultType=html", true);
xhr.send(
null);
});
})

//跨瀏覽器獲取XmlHttpRequest對(duì)象
function AjaxXmlHttpRequest()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e)
{

// InterNET Explorer
try
{
xmlHttp
= new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{

try
{
xmlHttp
= new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert(
"您的瀏覽器不支持AJAX!");
return false;
}
}
}
return xmlHttp;
}
</script>

</head>
<body>
<button id="btnAjaxOld">原始Ajax調(diào)用</button><br />
<br />
<div id="divResult"></div>
</body>
</html>

系列文章導(dǎo)航:

從零開始學(xué)習(xí)jQuery (一) 開天辟地入門篇

從零開始學(xué)習(xí)jQuery (二) 萬能的選擇器

從零開始學(xué)習(xí)jQuery (三) 管理jQuery包裝集

從零開始學(xué)習(xí)jQuery (四) 使用jQuery操作元素的屬性與樣式

從零開始學(xué)習(xí)jQuery (五) 事件與事件對(duì)象

從零開始學(xué)習(xí)jQuery (六) AJAX快餐

從零開始學(xué)習(xí)jQuery (七) jQuery動(dòng)畫-讓頁面動(dòng)起來!

從零開始學(xué)習(xí)jQuery (九) jQuery工具函數(shù)

從零開始學(xué)習(xí)jQuery (十) jQueryUI常用功能實(shí)戰(zhàn)

從零開始學(xué)習(xí)jQuery (十一) 實(shí)戰(zhàn)表單驗(yàn)證與自動(dòng)完成提示插件


四.jQuery Ajax詳解

jQuery提供了幾個(gè)用于發(fā)送Ajax請(qǐng)求的函數(shù). 其中最核心也是最復(fù)雜的是jQuery.ajax( options ),所有的其他Ajax函數(shù)都是它的一個(gè)簡(jiǎn)化調(diào)用. 當(dāng)我們想要完全控制Ajax時(shí)可以使用此結(jié)果, 否則還是使用簡(jiǎn)化方法如get, post, load等更加方便. 所以jQuery.ajax( options ) 方法放到最后一個(gè)介紹. 先來介紹最簡(jiǎn)單的load方法:

1.  load( url, [data], [callback] )

Returns: jQuery包裝集

說明:

load方法能夠載入遠(yuǎn)程 HTML 文件代碼并插入至 DOM 中。

默認(rèn)使用 GET 方式, 如果傳遞了data參數(shù)則使用Post方式.

- 傳遞附加參數(shù)時(shí)自動(dòng)轉(zhuǎn)換為 POST 方式。jQuery 1.2 中,可以指定選擇符,來篩選載入的 HTML 文檔,DOM 中將僅插入篩選出的 HTML 代碼。語法形如 "url #some > selector", 默認(rèn)的選擇器是"body>*".

講解:

load是最簡(jiǎn)單的Ajax函數(shù), 但是使用具有局限性:

  1. 它主要用于直接返回HTML的Ajax接口
  2. load是一個(gè)jQuery包裝集方法,需要在jQuery包裝集上調(diào)用,并且會(huì)將返回的HTML加載到對(duì)象中, 即使設(shè)置了回調(diào)函數(shù)也還是會(huì)加載.

不過不可否認(rèn)load接口設(shè)計(jì)巧妙并且使用簡(jiǎn)單.下面通過示例來演示Load接口的使用:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm
l1/DTD/xhtml1-transitional.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery Ajax - Load</title>

<script type="text/Javascript" src="../scripts/jquery-1.3.2-vsdoc2.js"></script>

<script type="text/Javascript">
$(
function()
{
$(
"#btnAjaxGet").click(function(event)
{
//發(fā)送Get請(qǐng)求
$("#divResult").load("../data/AjaxGetMethod.ASPx?param=btnAjaxGet_click" + "&tim
estamp=
" + (new Date()).getTime());
});

$(
"#btnAjaxPost").click(function(event)
{
//發(fā)送Post請(qǐng)求
$("#divResult").load("../data/AjaxGetMethod.ASPx", { "param": "btnAjaxPost_click" });
});

$(
"#btnAjaxCallBack").click(function(event)
{
//發(fā)送Post請(qǐng)求, 返回后執(zhí)行回調(diào)函數(shù).
$("#divResult").load("../data/AjaxGetMethod.ASPx", { "param": "btnAjaxCallBack_click
" }, function(responseText, textStatus, XMLHttpRequest)
{
responseText
= " Add in the CallBack Function! <br/>" + responseText
$(
"#divResult").html(responseText); //或者: $(this).html(responseText);
});
});

$(
"#btnAjaxFiltHtml").click(function(event)
{
//發(fā)送Get請(qǐng)求, 從結(jié)果中過濾掉 "鞍山" 這一項(xiàng)
$("#divResult").load("../data/AjaxGetCityInfo.ASPx?resultType=html" + "&timestamp
=
" + (new Date()).getTime() + " ul>li:not(:contains('鞍山'))");
});

})
</script>

</head>
<body>
<button id="btnAjaxGet">使用Load執(zhí)行Get請(qǐng)求</button><br />
<button id="btnAjaxPost">使用Load執(zhí)行Post請(qǐng)求</button><br />
<button id="btnAjaxCallBack">使用帶有回調(diào)函數(shù)的Load方法</button><br />
<button id="btnAjaxFiltHtml">使用selector過濾返回的HTML內(nèi)容</button>
<br />
<div id="divResult"></div>
</body>
</html>

系列文章導(dǎo)航:

從零開始學(xué)習(xí)jQuery (一) 開天辟地入門篇

從零開始學(xué)習(xí)jQuery (二) 萬能的選擇器

從零開始學(xué)習(xí)jQuery (三) 管理jQuery包裝集

從零開始學(xué)習(xí)jQuery (四) 使用jQuery操作元素的屬性與樣式

從零開始學(xué)習(xí)jQuery (五) 事件與事件對(duì)象

從零開始學(xué)習(xí)jQuery (六) AJAX快餐

從零開始學(xué)習(xí)jQuery (七) jQuery動(dòng)畫-讓頁面動(dòng)起來!

從零開始學(xué)習(xí)jQuery (九) jQuery工具函數(shù)

從零開始學(xué)習(xí)jQuery (十) jQueryUI常用功能實(shí)戰(zhàn)

從零開始學(xué)習(xí)jQuery (十一) 實(shí)戰(zhàn)表單驗(yàn)證與自動(dòng)完成提示插件


3. jQuery.getJSON( url,  [data], [callback] )

Returns: XMLHttpRequest

相當(dāng)于:   jQuery.get(url, [data],[callback], "json")

說明:

通過 HTTP GET 請(qǐng)求載入 JSON 數(shù)據(jù)。

在 jQuery 1.2 中,您可以通過使用JSONP 形式的回調(diào)函數(shù)來加載其他網(wǎng)域的JSON數(shù)據(jù),如 "myurl?callback=?"。jQuery 將自動(dòng)替換 ? 為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。

注意:此行以后的代碼將在這個(gè)回調(diào)函數(shù)執(zhí)行前執(zhí)行。

講解:

getJSON函數(shù)僅僅將get函數(shù)的type參數(shù)設(shè)置為"JSON"而已. 在回調(diào)函數(shù)中獲取的數(shù)據(jù)已經(jīng)是按照J(rèn)SON格式解析后的對(duì)象了:

$.getJSON("../data/AjaxGetCityInfo.ASPx", { "resultType": "json" }, function(data, textStatus)
{
alert(data.length);
alert(data[
0].CityName);
});

系列文章導(dǎo)航:

從零開始學(xué)習(xí)jQuery (一) 開天辟地入門篇

從零開始學(xué)習(xí)jQuery (二) 萬能的選擇器

從零開始學(xué)習(xí)jQuery (三) 管理jQuery包裝集

從零開始學(xué)習(xí)jQuery (四) 使用jQuery操作元素的屬性與樣式

從零開始學(xué)習(xí)jQuery (五) 事件與事件對(duì)象

從零開始學(xué)習(xí)jQuery (六) AJAX快餐

從零開始學(xué)習(xí)jQuery (七) jQuery動(dòng)畫-讓頁面動(dòng)起來!

從零開始學(xué)習(xí)jQuery (九) jQuery工具函數(shù)

從零開始學(xué)習(xí)jQuery (十) jQueryUI常用功能實(shí)戰(zhàn)

從零開始學(xué)習(xí)jQuery (十一) 實(shí)戰(zhàn)表單驗(yàn)證與自動(dòng)完成提示插件


五.Ajax相關(guān)函數(shù).

jQuery提供了一些相關(guān)函數(shù)能夠輔助Ajax函數(shù).

1. jQuery.ajaxSetup( options )

無返回值

說明:

設(shè)置全局 AJAX 默認(rèn)options選項(xiàng)。

講解:

有時(shí)我們的希望設(shè)置頁面上所有Ajax屬性的默認(rèn)行為.那么就可以使用此函數(shù)設(shè)置options選項(xiàng), 此后所有的Ajax請(qǐng)求的默認(rèn)options將被更改.

比如,設(shè)置 AJAX 請(qǐng)求默認(rèn)地址為 "/xmlhttp/",禁止觸發(fā)全局 AJAX 事件,用 POST 代替默認(rèn) GET 方法。其后的 AJAX 請(qǐng)求不再設(shè)置任何選項(xiàng)參數(shù):

$.ajaxSetup({
url:
"/xmlhttp/",
global:
false,
type:
"POST"
});
$.ajax({ data: myData });

it知識(shí)庫(kù)從零開始學(xué)習(xí)jQuery (六) AJAX快餐,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 陈慧娴个人资料| 金秘书为什么那样| 彼岸花电影| 男上女下动态视频| 故乡之恋简谱| 脚心的视频vk| 结婚请帖怎么写| 二次曝光电影有删减吗| 玫瑰的故事万茜演的什么角色| 182tv福利视频| 视频偷窥| 抖音手机网页版| 黑帮大佬365天| 宋学士濂文言文翻译| 在线观看www视频| 色戒在线观看汤唯| 珍珠传奇 电视剧| 高级英语第四版课后答案| 看黄在线看| 冒险王2| 王琳琳个人资料及简历| river flows in you吉他谱| 燕郊在线| 空姐一级毛片| 北风那个吹全集免费观看| 以下关于宏病毒说法正确的是| 唐瑜苏沐月是哪部短剧| 母线槽规格型号及价格| a级性片| 爱在记忆中找你歌词| 硅酸钙板厂家联系方式| a级性片| 彭丹丹主演的经典电影| 刷完牙嘴里有白色黏膜怎么回事| 长谷川未来| 光明力量2古代封印攻略| 青岛啤酒价格| 真爱诺言大结局| 张颜齐| 绝岭雄风| 小数加减法100道题|