想象使用一個簡單HTML文件來把一個請求發送到一個服務器端腳本,收到一個基于該請求的定制XML文件,然后把它顯示給用戶而幾乎不需要刷新瀏覽器!本文作者將同你一起探討怎樣在普通Web應用程序中聯合PHP和AJAX技術來創建實時的數據傳輸而不需要進行瀏覽器刷新。
盡管本文所使用的是PHP語言,但是請記住任何服務器端語言都會正常工作。為了理解本文,我假定你基本理解JavaScript和PHP或一類似服務器端語言。
本文示例使用AJAX來把一請求從一個RSS饋送發送到一定制的PHP對象。該PHP對象復制一份在本地服務器上的該饋送并返回這一路徑。該請求對象收到這一路徑,分析它,并且把數據以HTML形式顯示給用戶。這聽起來涉及很多步驟,其實它僅由4個小文件組成。之所以使用了4個小文件,是為了平衡它們各自特定的力量而使整個系統的處理極富效率性。
有些讀者可能會問,為什么你要創建在本地服務器上的饋送的一個副本而不是簡單分析最原始的饋送。原因是,這樣以來可以允許繞過XML HTTP Request對象所強加的跨域限制。后面,我還會解釋怎樣創建這個定制的PHP對象;但是首先,讓我們從表單創建開始。
創建發出請求的表單
你要做的第一事情是,在你的HTML的head標簽之間包括你可能想使用的JavaScript和任何CSS文件。我包括了一個式樣表來實現該聚合器的最后布局并用一個JavaScript文件來發出請求和進行饋送分析:
。糽ink href="css/layout.css" rel="stylesheet" type="text/css" />
。約cript src="js/request.js"></script>
下一步,創建一個表單,它針對你所選擇的一個RSS饋送發出請求。我創建的表單只包括一個輸入字段和一個提交該請求的按鈕。該請求的查詢是一個字符串,它由饋送輸入值和一個將在服務器端被校驗的口令字組成;作為一個示例,我使用了下面形式:
"password=mypassword
該代碼在每次頁面加載之時發出一次請求;因此,如果頁面被刷新,現有的在該輸入域中的饋送串將在頁面加載時被請求。下面是一個表單數據的示例,連同一些div標簽用來顯示已分析的饋送的特定結點:
。糱ody onload="javascript:makeRequest('request.php?request=' + document.feedForm.feed.value + '"password=mypassword');">
。糵orm 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">
。糹nput type="submit" name="submit" value="Add Feed">
。/form>
。糳iv id="logo"></div>
。糷r/>
。糳iv id="copy"></div>
。糳iv id="details"></div>
。/body>
我所創建的這三個div標簽是logo,copy和details,其中每一個都在布局樣式表中有一個與之相關聯的樣式。當我們分析饋送時將會用到它們,但是我們首先需要能夠存取我們所請求的饋送。這可以使用我前面所提到的PHP對象來完成。
文章來源于領測軟件測試網 http://www.kjueaiud.com/