利用PHP和AJAX創(chuàng)建RSS聚合器_PHP教程
推薦:PHP初學(xué)者頭疼問題總結(jié) 文本關(guān)鍵字:程序設(shè)計/PHP/技巧 【1】頁面之間無法傳遞變量 get,post,session在最新的php版本中自動全局變量是關(guān)閉的,所以要從上一頁面取得提交過來得變量要使用$_GET['foo'],
想象使用一個簡單HTML文件來把一個請求發(fā)送到一個服務(wù)器端腳本,收到一個基于該請求的定制XML文件,然后把它顯示給用戶而幾乎不需要刷新瀏覽器!本文作者將同你一起探討怎樣在普通Web應(yīng)用程序中聯(lián)合PHP和AJAX技術(shù)來創(chuàng)建實時的數(shù)據(jù)傳輸而不需要進(jìn)行瀏覽器刷新。
盡管本文所使用的是PHP語言,但是請記住任何服務(wù)器端語言都會正常工作。為了理解本文,我假定你基本理解JavaScript和PHP或一類似服務(wù)器端語言。
本文示例使用AJAX來把一請求從一個RSS饋送發(fā)送到一定制的PHP對象。該PHP對象復(fù)制一份在本地服務(wù)器上的該饋送并返回這一路徑。該請求對象收到這一路徑,分析它,并且把數(shù)據(jù)以HTML形式顯示給用戶。這聽起來涉及很多步驟,其實它僅由4個小文件組成。之所以使用了4個小文件,是為了平衡它們各自特定的力量而使整個系統(tǒng)的處理極富效率性。
我想,有些讀者可能會問,為什么你要創(chuàng)建在本地服務(wù)器上的饋送的一個副本而不是簡單分析最原始的饋送。原因是,這樣以來可以允許繞過XML HTTP Request對象所強加的跨域限制。后面,我還會解釋怎樣創(chuàng)建這個定制的PHP對象;但是首先,讓我們從表單創(chuàng)建開始。
創(chuàng)建發(fā)出請求的表單
你要做的第一事情是,在你的HTML的head標(biāo)簽之間包括你可能想使用的JavaScript和任何CSS文件。我包括了一個式樣表來實現(xiàn)該聚合器的最后布局并用一個JavaScript文件來發(fā)出請求和進(jìn)行饋送分析:
<link href="css/layout.css" rel="stylesheet" type="text/css" />
<script src="js/request.js"></script>
下一步,創(chuàng)建一個表單,它針對你所選擇的一個RSS饋送發(fā)出請求。我創(chuàng)建的表單只包括一個輸入字段和一個提交該請求的按鈕。該請求的查詢是一個字符串,它由饋送輸入值和一個將在服務(wù)器端被校驗的口令字組成;作為一個示例,我使用了下面形式:
"password=mypassword
該代碼在每次頁面加載之時發(fā)出一次請求;因此,如果頁面被刷新,現(xiàn)有的在該輸入域中的饋送串將在頁面加載時被請求。下面是一個表單數(shù)據(jù)的示例,連同一些div標(biāo)簽用來顯示已分析的饋送的特定結(jié)點:
<body onload="javascript:makeRequest('request.php?request=' document.feedForm.feed.value '"password=mypassword');">
<form name="feedForm" method="post" action="javascript:makeRequest('request.php?request=' document.feedForm.feed.value '"password=mypassword');">
Enter a feed: <input type="text" name="feed" id="feed" size="20">
<input type="submit" name="submit" value="Add Feed">
</form>
<div id="logo"></div>
<hr/>
<div id="copy"></div>
<div id="details"></div>
</body>
我所創(chuàng)建的這三個div標(biāo)簽是logo,copy和details,其中每一個都在布局樣式表中有一個與之相關(guān)聯(lián)的樣式。當(dāng)我們分析饋送時將會用到它們,但是我們首先需要能夠存取我們所請求的饋送。這可以使用我前面所提到的PHP對象來完成。
分享:Php高手帶路--問題匯總解答 1:為什么我得不到變量 我在一網(wǎng)頁向另一網(wǎng)頁POST數(shù)據(jù)name,為什么輸出$name時卻得不到任何值? 在PHP4.2以后的版本中reGISter_global默認(rèn)為off 若想取得從另一頁面
- 相關(guān)鏈接:
- 教程說明:
PHP教程-利用PHP和AJAX創(chuàng)建RSS聚合器
。