想象使用一個(gè)簡(jiǎn)單HTML文件來(lái)把一個(gè)請(qǐng)求發(fā)送到一個(gè)服務(wù)器端腳本,收到一個(gè)基于該請(qǐng)求的定制XML文件,然后把它顯示給用戶而幾乎不需要刷新瀏覽器!本文作者將同你一起探討怎樣在普通Web應(yīng)用程序中聯(lián)合PHP和AJAX技術(shù)來(lái)創(chuàng)建實(shí)時(shí)的數(shù)據(jù)傳輸而不需要進(jìn)行瀏覽器刷新。
盡管本文所使用的是PHP語(yǔ)言,但是請(qǐng)記住任何服務(wù)器端語(yǔ)言都會(huì)正常工作。為了理解本文,我假定你基本理解JavaScript和PHP或一類似服務(wù)器端語(yǔ)言。
本文示例使用AJAX來(lái)把一請(qǐng)求從一個(gè)RSS饋送發(fā)送到一定制的PHP對(duì)象。該P(yáng)HP對(duì)象復(fù)制一份在本地服務(wù)器上的該饋送并返回這一路徑。該請(qǐng)求對(duì)象收到這一路徑,分析它,并且把數(shù)據(jù)以HTML形式顯示給用戶。這聽(tīng)起來(lái)涉及很多步驟,其實(shí)它僅由4個(gè)小文件組成。之所以使用了4個(gè)小文件,是為了平衡它們各自特定的力量而使整個(gè)系統(tǒng)的處理極富效率性。
我想,有些讀者可能會(huì)問(wèn),為什么你要?jiǎng)?chuàng)建在本地服務(wù)器上的饋送的一個(gè)副本而不是簡(jiǎn)單分析最原始的饋送。原因是,這樣以來(lái)可以答應(yīng)繞過(guò)XML HTTP Request對(duì)象所強(qiáng)加的跨域限制。后面,我還會(huì)解釋怎樣創(chuàng)建這個(gè)定制的PHP對(duì)象;但是首先,讓我們從表單創(chuàng)建開(kāi)始。
創(chuàng)建發(fā)出請(qǐng)求的表單
你要做的第一事情是,在你的HTML的head標(biāo)簽之間包括你可能想使用的JavaScript和任何CSS文件。我包括了一個(gè)式樣表來(lái)實(shí)現(xiàn)該聚合器的最后布局并用一個(gè)JavaScript文件來(lái)發(fā)出請(qǐng)求和進(jìn)行饋送分析:
下一步,創(chuàng)建一個(gè)表單,它針對(duì)你所選擇的一個(gè)RSS饋送發(fā)出請(qǐng)求。我創(chuàng)建的表單只包括一個(gè)輸入字段和一個(gè)提交該請(qǐng)求的按鈕。該請(qǐng)求的查詢是一個(gè)字符串,它由饋送輸入值和一個(gè)將在服務(wù)器端被校驗(yàn)的口令字組成;作為一個(gè)示例,我使用了下面形式:
"password=mypassword
該代碼在每次頁(yè)面加載之時(shí)發(fā)出一次請(qǐng)求;因此,假如頁(yè)面被刷新,現(xiàn)有的在該輸入域中的饋送串將在頁(yè)面加載時(shí)被請(qǐng)求。下面是一個(gè)表單數(shù)據(jù)的示例,連同一些div標(biāo)簽用來(lái)顯示已分析的饋送的特定結(jié)點(diǎn):
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)