日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

java視線論壇 :: 閱讀主題 - ajax三言兩語

 grantbb 2005-07-13
這里的ajax可不是大名鼎鼎的ajax俱樂部, 這四個(gè)字母在這里Asynchronous JavaScript and XML的縮寫。通俗地描述這項(xiàng)技術(shù)就是:用 JavaScript 向服務(wù)器獲取數(shù)據(jù),然后更新網(wǎng)頁的局部,而不是刷新整個(gè)網(wǎng)頁。
這項(xiàng)技術(shù)非常適合用來開發(fā)以瀏覽器為客戶端的系統(tǒng)的界面,使用ajax給用戶帶來的更好的體驗(yàn),他們不會(huì)感覺到用瀏覽器開發(fā)的客戶端與桌面程序有什么差別。
ajax使用了比較多的javacript,并需要訪問很多dom對(duì)象,這常常給跨瀏覽器訪問帶來困擾。但假如你小心應(yīng)對(duì),還是容易解決這個(gè)問題的。比如,你想從服務(wù)器段獲得一些數(shù)據(jù),你必然要用到xmlhttp,為了讓程序?yàn)g覽器無關(guān),你可以這樣創(chuàng)建xmlhttp對(duì)象:
//for IE
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

//for firefox
if (!xmlhttp && typeof XMLHttpRequest!=‘undefined‘) {
xmlhttp = new XMLHttpRequest();
}


在很多的ajax范例中,開發(fā)者都是用xmlhttp從服務(wù)器端獲得一個(gè)xml數(shù)據(jù),然后轉(zhuǎn)換成javascript可觸及的對(duì)象,再用js繪制到document中。但我覺得這并非唯一選項(xiàng),我甚至覺得是多此一舉!為什么不直接傳遞js對(duì)象呢?在我開發(fā)的系統(tǒng)中,xmlhttp從服務(wù)器上獲得的是代表js對(duì)象的字符串。假如我要傳送一個(gè)人員列表,我會(huì)在服務(wù)器上輸出:
[{id:1,name:"hexiaodong"},{id:2,name:"mary"},{id:3,name:"name"},...]}

然后在瀏覽器上用js獲得這個(gè)字符串所代表的對(duì)象:
var returned = xmlhttp.responseText;
var obj = eval(returned );
接著,你就可以這樣訪問:
var person1 = obj[0]; var person2 = obj[1];
alert(person1.id);
alert(person1.name);

我覺得這樣做比傳遞xml文檔直接一些,不必通過轉(zhuǎn)換可以讓js直接訪問數(shù)據(jù),而且是通過對(duì)象導(dǎo)航來訪問的,爽一個(gè)字。

ajax最后一環(huán),就是通過dom對(duì)象繪制界面,這方面我也不是很精通,每次對(duì)著msdn畫瓢唄。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多