這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何在PHP中利用AJAX實(shí)現(xiàn)一個(gè)投票功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、華容網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為華容等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。本例包括四個(gè)元素:
① HTML 表單
② JavaScript
③ PHP 頁面
④ 存放結(jié)果的文本文件
一、HTML 表單
這是 HTML 頁面。它包含一個(gè)簡(jiǎn)單的 HTML 表單,以及一個(gè)與 JavaScript 文件的連接:
Do you like PHP and AJAX so far?
例子解釋 - HTML 表單
正如您看到的,上面的 HTML 頁面包含一個(gè)簡(jiǎn)單的 HTML 表單,其中的
表單這樣工作:
1. 當(dāng)用戶選擇 "yes" 或 "no" 時(shí),會(huì)觸發(fā)一個(gè)事件
2. 當(dāng)事件觸發(fā)時(shí),執(zhí)行 getVote() 函數(shù)
3. 圍繞該表單的是名為 "poll" 的
二、文本文件
文本文件 (poll_result.txt) 中存儲(chǔ)來自投票程序的數(shù)據(jù)。
它類似這樣:
0||0
第一個(gè)數(shù)字表示 "Yes" 投票,第二個(gè)數(shù)字表示 "No" 投票。
注釋:記得只允許您的 web 服務(wù)器來編輯該文本文件。不要讓其他人獲得訪問權(quán),除了 web 服務(wù)器 (PHP)。
三、JavaScript
JavaScript 代碼存儲(chǔ)在 "poll.js" 中,并于 HTML 文檔相連接:
var xmlHttp function getVote(int) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url="poll_vote.php" url=url+"?vote="+int url=url+"&sid="+Math.random() xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("poll"). innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var objXMLHttp=null if (window.XMLHttpRequest) { objXMLHttp=new XMLHttpRequest() } else if (window.ActiveXObject) { objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") } return objXMLHttp }
例子解釋:
stateChanged() 和 GetXmlHttpObject 函數(shù)與 PHP 和 AJAX 請(qǐng)求 這一節(jié)中的例子相同。
getVote() 函數(shù)
當(dāng)用戶在 HTML 表單中選擇 "yes" 或 "no" 時(shí),該函數(shù)就會(huì)執(zhí)行。
1. 定義發(fā)送到服務(wù)器的 url (文件名)
2. 向 url 添加參數(shù) (vote),參數(shù)中帶有輸入字段的內(nèi)容
3. 添加一個(gè)隨機(jī)數(shù),以防止服務(wù)器使用緩存的文件
4. 調(diào)用 GetXmlHttpObject 函數(shù)來創(chuàng)建 XMLHTTP 對(duì)象,并告知該對(duì)象當(dāng)觸發(fā)一個(gè)變化時(shí)執(zhí)行 stateChanged 函數(shù)
5. 用給定的 url 來打開 XMLHTTP 對(duì)象
6. 向服務(wù)器發(fā)送 HTTP 請(qǐng)求
四、PHP頁面
由 JavaScript 代碼調(diào)用的服務(wù)器頁面是名為 "poll_vote.php" 的一個(gè)簡(jiǎn)單的 PHP 文件。
Result:
Yes: | ' height='20'> % |
No: | ' height='20'> % |
上述就是小編為大家分享的如何在PHP中利用AJAX實(shí)現(xiàn)一個(gè)投票功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。