91网首页-91网页版-91网在线观看-91网站免费观看-91网站永久视频-91网站在线播放

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ajax入門實(shí)例

admin
2010年8月18日 14:22 本文熱度 4036
Ajax 由 HTML、JavaScript™ 技術(shù)、DHTML 和 DOM 組成,這一杰出的方法可以將笨拙的 Web 界面轉(zhuǎn)化成交互性的 Ajax 應(yīng)用程序。對于Ajax,最核心的一個對象是XMLHttpRequest,所有的Ajax操作都離不開對這個對象的操作。

首先我們來了解怎么在javascript中創(chuàng)建這個對象:



var xmlHttp = new XMLHttpRequest();

這行簡單的代碼在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 瀏覽器中,創(chuàng)建了 XMLHttpRequest 對象。但是對于市場占有率達(dá)到70%的IE來說,這種方法是不行的,而不同的IE版本還有不同的創(chuàng)建方法,所以我們需要在IE下面使用下面兩種創(chuàng)建對象的辦法:



try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//針對較新的瀏覽器
} catch (err) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//針對較老的瀏覽器
} catch (err2) {
xmlHttp = false;
}
}

即使這樣,我們也無法預(yù)料有些瀏覽器可能無法創(chuàng)建這個對象,所以在創(chuàng)建不成功的情況下,我們還要加上一句:



if (!xmlHttp){
alert("無法創(chuàng)建 XMLHttpRequest 對象!");
}

結(jié)合起來就是:



var xmlHttp = false;
try {
xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
xmlHttp = false;
}
}
}
if (!xmlHttp){
alert("無法創(chuàng)建 XMLHttpRequest 對象!");
}

然后,讓我們建立一個函數(shù)getInfo(),打開異步請求:



function getInfo() {
var num = document.getElementById("num").value;//獲得表單的數(shù)據(jù)
var url = "/ajax/1.php?n=" + escape(num);
xmlHttp.open("GET", url, true);//這里的true代表是異步請求
}

一旦用 open() 配置好之后,就可以發(fā)送請求了。雖然可以使用 send() 發(fā)送數(shù)據(jù),但也能通過 URL 本身發(fā)送數(shù)據(jù)。事實(shí)上,在大部分GET 請求中,用 URL 發(fā)送數(shù)據(jù)要容易得多,所以這里用null作為send()的參數(shù)就可以了。url地址里面的php文件是被請求來處理所需要數(shù)據(jù)的php文件,就像我們平時用PHP的時候一樣,后面的參數(shù)可以加多個,并用&分隔開來。



xmlHttp.send(null);

在發(fā)送了數(shù)據(jù)之后,我們需要用回調(diào)方法來獲得服務(wù)器的狀態(tài),所以就用到了onreadystatechange 屬性。



xmlHttp.onreadystatechange = updatePage;

此語句已經(jīng)要放在send()語句前面,這樣才會有效,后面的updatePage是處理返回信息的一個函數(shù)。完整的getInfo()如下:



function getInfo() {
var num = document.getElementById("num").value;//獲得表單的數(shù)據(jù)
var url = "/ajax/1.php?n=" + escape(num);
xmlHttp.open("GET", url, true);//這里的true代表是異步請求
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}

我們還需要在html里面來觸發(fā)這個函數(shù):



<input name="num" id="num" onblur="getInfo()" type="text" />

下面我們需要來編寫updatePage()這個函數(shù):



function updatePage(){
if (xmlhttp.readyState == 4) {
var response = xmlhttp.responseText;
document.getElementById("city").value = response;
}
}

上面這段代碼里面的readyState是服務(wù)器返回的一個狀態(tài),4這個狀態(tài)表示請求已經(jīng)發(fā)送,并處理完畢。responseText是獲得服務(wù)器返回的信息,然后通過javascript賦給ID為city的表單。


到此,一個簡單的Ajax程序就完成了,完整的javascript代碼如下:



var xmlHttp = false;
try {
xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
xmlHttp = false;
}
}
}
if (!xmlHttp){
alert("無法創(chuàng)建 XMLHttpRequest 對象!");
}

function getInfo() {
var num = document.getElementById("num").value;//獲得表單的數(shù)據(jù)
var url = "/ajax/1.php?n=" + escape(num);
xmlHttp.open("GET", url, true);//這里的true代表是異步請求
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
}

function updatePage(){
if (xmlhttp.readyState == 4) {
var response = xmlhttp.responseText;
document.getElementById("city").value = response;
}
}

該文章在 2010/8/18 14:22:28 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产日本韩国视频 | 国产一区二区小电影 | 国产未满岁18在线 | 亚洲无码1区 | 国产91视频一区 | 精品免费精品 | 国产欧美在线日韩 | 日韩精品日韩 | 玖玖爱这里只有精品 | 国产精品毛 | 国语在线看免费观 | 欧美三级欧美做a爱 | 日韩欧美大片精品黄 | 国产色婷 | 国产性爱不卡一区 | 日韩经典 | 99福利导航网 | 91欧美在线精品 | 97资源站中文字幕 | 国产日韩欧美大片 | 91中文字幕| 乱子伦一 | 99国产热播 | www.狠| 欧美性爱综合 | 乱理伦片在线播放 | 日韩免费高清一级三 | 福利微拍三区 | 老司机免费| 91视频免费刷 | 中文字幕精品 | 国产在线观看码高 | 日韩午夜片电影 | 国产偷国 | 国产精品自在自线 | 国产欧美日韩综合 | 国产精品视频免费的 | 日本三级国产在线 | 国产在线观看无 | 午夜性爱视频 | 欧美在线激情视频 |