王 丹
(遼寧省交通高等??茖W(xué)校,遼寧 沈陽(yáng) 110122)
AJAX技術(shù)在PHP開發(fā)中的應(yīng)用分析
王 丹
(遼寧省交通高等??茖W(xué)校,遼寧 沈陽(yáng) 110122)
AJAX是目前最流行的Web開發(fā)技術(shù)之一,文章從AJAX技術(shù)的基本特點(diǎn)、執(zhí)行原理和在PHP實(shí)際開發(fā)中的應(yīng)用3個(gè)方面進(jìn)行了描述,展現(xiàn)了AJAX在項(xiàng)目開發(fā)中的設(shè)計(jì)思想和極佳的用戶體驗(yàn)性。
AJAX;PHP;Web開發(fā)技術(shù)
AJAX是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù),它不是新語(yǔ)言,而是一種使用現(xiàn)有標(biāo)準(zhǔn)的新思想、新方法。PHP在實(shí)現(xiàn)用戶注冊(cè)功能中,通常需要實(shí)現(xiàn)用戶名是否可用的校驗(yàn),傳統(tǒng)的校驗(yàn)方法需要服務(wù)器程序處理并重新加載頁(yè)面,用戶每發(fā)出一個(gè)請(qǐng)求,整個(gè)頁(yè)面就會(huì)被全部刷新,頁(yè)面的刷新與用戶的請(qǐng)求是同步的,用戶體驗(yàn)性不好。而利用AJAX技術(shù),它通過(guò)與服務(wù)器程序進(jìn)行少量數(shù)據(jù)交換,可以實(shí)現(xiàn)網(wǎng)頁(yè)異步更新,即可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新。
異步JavaScript和XML(Asynchronous JavaScript and XML,AJAX)是異步JavaScript和XML技術(shù),它是把JavaScript,XML,CSS,DOM等多種技術(shù)組合起來(lái)的一種新的編程思路和方法。它可以實(shí)現(xiàn)客戶端的異步請(qǐng)求操作,在不需要刷新頁(yè)面的情況下與服務(wù)器進(jìn)行通信,從而減少了用戶的等待時(shí)間。使用AJAX技術(shù),可以創(chuàng)建更接近本地桌面應(yīng)用的、高可用的、更豐富、更動(dòng)態(tài)的、符合用戶體驗(yàn)的Web界面。
在傳統(tǒng)的頁(yè)面請(qǐng)求過(guò)程中,瀏覽器發(fā)出對(duì)數(shù)據(jù)的請(qǐng)求,然后等待服務(wù)器發(fā)回結(jié)果,接收完成后瀏覽器加載頁(yè)面,而頁(yè)面應(yīng)用AJAX技術(shù)后,可以大大減少客戶端與服務(wù)器端之間的數(shù)據(jù)傳輸量,對(duì)數(shù)據(jù)的請(qǐng)求也可以異步發(fā)出,減輕了服務(wù)器的負(fù)擔(dān),在整個(gè)AJAX服務(wù)器訪問(wèn)過(guò)程中,用戶不必等待服務(wù)器響應(yīng)和頁(yè)面刷新,而且服務(wù)器響應(yīng)接收后只需要改變當(dāng)前文檔對(duì)象,不需要影響整個(gè)頁(yè)面,也無(wú)需刷新整個(gè)頁(yè)面。
響應(yīng)XMLHttpRequest是AJAX的基礎(chǔ),用于和服務(wù)器交換數(shù)據(jù)。所有現(xiàn)代瀏覽器均支持XMLHttpRequest對(duì)象。AJAX處理過(guò)程中需創(chuàng)建一個(gè)XMLHttpRequest實(shí)例。使用HTTP方法(GET或POST)來(lái)處理請(qǐng)求,并將目標(biāo)URL設(shè)置到XMLHttpRequest對(duì)象上。
當(dāng)發(fā)送HTTP請(qǐng)求時(shí),無(wú)需等待服務(wù)器的響應(yīng),通過(guò)頁(yè)面可以響應(yīng)用戶的界面交互,并在服務(wù)器響應(yīng)前處理它們。通過(guò)向XMLHttpRequest注冊(cè)一個(gè)回調(diào)函數(shù),并異步地派發(fā)XMLHttpRequest請(qǐng)求??刂茩?quán)馬上就被返回到瀏覽器,當(dāng)服務(wù)器響應(yīng)到達(dá)時(shí),回調(diào)函數(shù)將會(huì)被調(diào)用。
PHP在實(shí)現(xiàn)用戶注冊(cè)功能中,通常需要實(shí)現(xiàn)用戶名是否可用的校驗(yàn)。下面通過(guò)AJAX技術(shù)實(shí)現(xiàn)Web頁(yè)面無(wú)刷新用戶名校驗(yàn)。
(1)實(shí)例化 XMLHttpRequest 對(duì)象。
(2)設(shè)置回調(diào)函數(shù)。
成功創(chuàng)建XMLHttpRequest 對(duì)象實(shí)例后,通過(guò)open方法打開連接,這里使用了手動(dòng)GET方式傳遞參數(shù),向服務(wù)器發(fā)出Get請(qǐng)求。
(3)創(chuàng)建PHP處理程序checkName.php。
(4)部署、運(yùn)行,查看結(jié)果。
在Web前端頁(yè)面表單中,設(shè)置onblur事件調(diào)用功能函數(shù)funphp100(),當(dāng)ID為“userName”的輸入框失去焦點(diǎn)時(shí)觸發(fā)AJAX請(qǐng)求,將用戶名發(fā)送到checkName.php文件并返回結(jié)果顯示在html頁(yè)面上。當(dāng)輸入一個(gè)可用的用戶名,頁(yè)面顯示效果如圖1所示。
圖1 用戶名校驗(yàn)效果
AJAX是一種良好的Web開發(fā)技術(shù),它使Web開發(fā)設(shè)計(jì)出現(xiàn)了全新的變革,使其向豐富客戶端(Rich Internet Applications,RIA)的開發(fā)邁進(jìn),當(dāng)然,任何東西有利也有弊,如果過(guò)多地使用JavaScript,那么客戶端將也非常臃腫,不利于用戶的瀏覽體驗(yàn),因此,在保證頁(yè)面運(yùn)行順暢的前提下,還能夠做到較好的用戶體驗(yàn),是值得Web開發(fā)者共同努力的方向。
Application Analysis of AJAX for PHP Development
Wang Dan
(Liaoning Provincial College of Communications, Shenyang 110122, China)
AJAX is one of the most popular Web developing technologies. This paper describes three aspects including the basic characteristics, the implementation principle of AJAX and application in practical development of PHP, which shows AJAX’s design idea and excellent user experience in project development.
AJAX; PHP; Web developing technology
王丹(1980— ),女,遼寧營(yíng)口。