版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
使用AJAX改進(jìn)和用戶體驗(yàn)本章目標(biāo)了解AJAX的應(yīng)用場合理解AJAX的實(shí)現(xiàn)過程掌握AJAX的實(shí)現(xiàn)技巧了解XMLHttpRequest對象的作用理解XMLHttpRequest對象的屬性和方法掌握XMLHttpRequest對象的應(yīng)用WEB2.0互聯(lián)網(wǎng)的前世今生互聯(lián)網(wǎng)的發(fā)展經(jīng)歷了以下幾個(gè)階段:黑暗年代
靜態(tài)網(wǎng)頁時(shí)代
動(dòng)態(tài)網(wǎng)頁時(shí)代WEB2.0時(shí)代WEB2.0概述
WEB2.0有別于以往,主要體現(xiàn)在以下幾個(gè)方面。用戶貢獻(xiàn)內(nèi)容內(nèi)容聚合——RSS更豐富的“用戶體驗(yàn)”,新的交互方式為什么用AJAXAJAX技術(shù)使我們可以通過JavaScript發(fā)送請求到服務(wù)器,并獲得返回結(jié)果。這就讓我們可以在必要的時(shí)候只更新頁面的一小部分,而不用整個(gè)頁面都刷新,這稱為“無刷新”技術(shù)。如圖2-5所示,搜狐首頁上的登錄功能就使用了AJAX技術(shù)。輸入登錄信息單擊“登錄”按鈕后,只是刷新登錄區(qū)域的內(nèi)容。首頁上信息很多,這就避免了重復(fù)加載,浪費(fèi)網(wǎng)絡(luò)資源。這是無刷新技術(shù)的第一個(gè)優(yōu)勢。
再看土豆網(wǎng)的例子,在觀看視頻的時(shí)候,我們可以在頁面上單擊其他按鈕執(zhí)行操作,由于只是局部刷新,頁面不會(huì)刷新,視頻繼續(xù)播放,不會(huì)受影響,如圖2-6所示。這體現(xiàn)了無刷新技術(shù)的第二個(gè)優(yōu)勢:提供連續(xù)的用戶體驗(yàn),不因頁面刷新而中斷。什么是AJAXAiax是幾個(gè)單詞首字母的縮寫:AsynchronousJavaScriptAndXml。AJAX并不是一種全新的技術(shù),而是整合了幾種現(xiàn)有的技術(shù):JavaScript、XML和CSS。主要是JavaScript,我們通過JavaScript的XMLHttpRequest對象完成發(fā)送請求到服務(wù)器并獲得返回結(jié)果的任務(wù),然后使用JavaScript更新局部的網(wǎng)頁。Asynchronous(異步)指的是JavaScript腳本發(fā)送請求后并不是一直等著服務(wù)器響應(yīng),而是發(fā)送請求后繼續(xù)做別的事,請求響應(yīng)的處理是異步完成的。XML一般用于請求數(shù)據(jù)和響應(yīng)數(shù)據(jù)的封裝,CSS用于美化頁面樣式。怎樣使用AJAX我們用一個(gè)實(shí)際的案例解釋AJAX的應(yīng)用。在用戶注冊信息時(shí),通常因?yàn)檩斎氲挠脩裘驯皇褂枚槐橛忠槐榈刂貜?fù)注冊,這便不是好的用戶體驗(yàn)。如果當(dāng)用戶名輸入框失去焦點(diǎn)時(shí),就發(fā)送請求到服務(wù)器,判斷用戶是否存在。已經(jīng)存在則彈出窗口提示:“用戶名已經(jīng)存在”。完成這個(gè)功能的過程中頁面不刷新便可以解決這個(gè)難題了,如圖2-9所示。傳統(tǒng)Web應(yīng)用解決方案傳統(tǒng)的Web應(yīng)用是同步交互的方式,這種同步交互方式的處理過程如下圖所示:AJAX解決方案與傳統(tǒng)的WEB應(yīng)用不同,AJAX采用的是一種異步交互的處理方式,這種異步交互方式的處理過程如下圖所示:AJAX相關(guān)技術(shù)AJAX應(yīng)用程序所用到的基本技術(shù)包括:XHTML和CSS:基于標(biāo)準(zhǔn)的表示技術(shù)。JavaScript腳本:運(yùn)行AJAX應(yīng)用程序的核心代碼,幫助改進(jìn)與服務(wù)器應(yīng)用程序的通信。文檔對象模型DOM:通過JavaScript代碼處理HTML結(jié)構(gòu)和服務(wù)器返回的XML。XML和XSTL:進(jìn)行瀏覽器和服務(wù)器兩端的數(shù)據(jù)信息交換與處理。XMLHttpRequest:進(jìn)行瀏覽器和服務(wù)兩端的異步數(shù)據(jù)讀取。XMLHttpRequest對象的方法和屬性表2-1
XMLHttpRequest對象的一些典型方法發(fā)送請求首先,為得到XMLHttpRequest對象實(shí)例的一個(gè)引用,可以創(chuàng)建一個(gè)新的實(shí)例,這里,我們只需調(diào)用這個(gè)函數(shù)即可,即createXMLHttpRequest();接著,告訴XMLHttpRequest對象,哪個(gè)函數(shù)會(huì)處理XMLHttpRequest對象狀態(tài)的改變,為此要把對象的onreadystatechange屬性設(shè)置為指向JavaScript函數(shù)的指針,即xmlHttp.onreadystatechange=handleResponse;然后,指定請求的屬性。XMLHttpRequest對象的open()方法會(huì)指定發(fā)出的請求。open()方法通常取3個(gè)參數(shù):一個(gè)是指示所用的方法(通常是GET或POST)的串,一個(gè)是表示目標(biāo)資源URL的串,一個(gè)是boolean值,指示請求是否是異步的。上述代碼片段采用GET請求方式,即xmlHttp.open("GET",url,true);將請求發(fā)送給服務(wù)器最后,將請求發(fā)送給服務(wù)器。XMLHttpRequest對象的send()方法把請求發(fā)送給指定的目標(biāo)資源。send()方法接受一個(gè)參數(shù),通常是一個(gè)串或一個(gè)DOM對象。這個(gè)參數(shù)作為請求體的一部分發(fā)送到目標(biāo)URL。當(dāng)向send()方法提供參數(shù)時(shí),要確保open()中指定的方法是POST。如果沒有數(shù)據(jù)作為請求體的一部分被發(fā)送,則使用null響應(yīng)數(shù)據(jù)服務(wù)器不一定都要按簡單文本格式發(fā)送響應(yīng)。當(dāng)Content-Type響應(yīng)首部正確地設(shè)置為text/xml(如果是簡單文本,Content-Type響應(yīng)首部則是text/plain),將響應(yīng)作為XML數(shù)據(jù)發(fā)送完全是可以的(復(fù)雜的數(shù)據(jù)結(jié)構(gòu)適合以XML格式發(fā)送)。此時(shí)可以使用XMLHttpRequest對象的responseXML屬性來獲取響應(yīng)數(shù)據(jù)。信息搜索示例這一節(jié),我們將綜合運(yùn)用本章所講述的內(nèi)容,來實(shí)現(xiàn)一個(gè)網(wǎng)頁中常見的信息搜索功能。該實(shí)例模擬了音樂網(wǎng)站中常見的歌曲分類搜索,實(shí)現(xiàn)的效果如下圖所示。在頁面的選擇列表框中列出所有的歌曲分類,當(dāng)用戶選擇某一類別時(shí),下方顯示出所有該類別的歌曲信息。顯示效果如圖2-13所示:
總結(jié)
本章提供了幾個(gè)例子,展示了應(yīng)用AJAX技術(shù)改善用戶體驗(yàn)的方法。相信這些例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生檢討書15篇
- 神經(jīng)解剖學(xué)名詞解釋
- 表面張力與馬拉高尼效應(yīng)的比較-Comsol
- 2024-2025學(xué)年高中物理 第五章 曲線運(yùn)動(dòng) 2 平拋運(yùn)動(dòng)(3)教學(xué)實(shí)錄 新人教版必修2
- 2024九年級化學(xué)下冊 第十單元 酸和堿課題2 酸和堿的中和反應(yīng)第1課時(shí) 酸和堿的中和反應(yīng)教學(xué)實(shí)錄(新版)新人教版
- 寒假工實(shí)習(xí)報(bào)告【五篇】
- 乒乓球比賽作文600字集合7篇
- 2024年秋八年級歷史上冊 第1課 鴉片戰(zhàn)爭同步教學(xué)實(shí)錄 新人教版
- 北師大版八年級上冊數(shù)學(xué)期末考試試題附答案
- 簡愛讀后感300字十篇
- 安徽省合肥市包河區(qū)2021-2022學(xué)年七年級上學(xué)期生物期末試題
- CDNL-MR08 高溫試驗(yàn)測量方法 不確定度評定報(bào)告 V1.0
- 拓?fù)鋵W(xué)(黑龍江聯(lián)盟)知到章節(jié)答案智慧樹2023年哈爾濱工程大學(xué)
- 質(zhì)量功能展開一種以市場為導(dǎo)向的質(zhì)量策略
- 《新編MPA英語閱讀教程教學(xué)參考書》正文(第一-第十五單元)第二稿
- 酒店各崗位崗位職責(zé)
- “青藍(lán)工程”師徒結(jié)對體育青年教師總結(jié)反思
- 《工程造價(jià)管理》期末考試復(fù)習(xí)題(含答案)
- 露天煤礦土石方剝離施工組織設(shè)計(jì)
- 維修站出門證管理規(guī)定
- 臨時(shí)聘用人員薪酬管理辦法
評論
0/150
提交評論