您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么在PHP中利用Ajax實現一個驗證碼功能,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
function getHTTPObject(){ if(typedef XMLHttpRequest == "undefined") XMLHttpRequest = function(){ try{ return new ActiveXObject("Msxml2.XMLHTTP.6.0");} catch(e){} try{ return new ActiveXObject("Msxml2.XMLHTTP.3.0");} catch(e){} try{ return new ActiveXObject("Msxml2.XMLHTTP");} catch(e){} return false; } return new XMLHttpRequest(); } function getNewContent(){ var request = getHTTPObject(); if(request){ request.open("GET","TEST.txt",true); request.onreadystateschange = function(){ alert(request.responseText); } }else{ alert("no support XMLHttpRequest!"); } }
其中的關鍵是:
request.open("GET","TEST.txt",true); request.onreadystateschange =function(){ alert(request.responseText); }
這三句指定了GET請求發向的頁面和XMLHttpRequest對象送回響應的時候觸發的處理函數,而數據正是通過request.responseText獲取的。
--------------------------------------------------------------------------------
可是我要獲取的數據是后臺php文件產生的驗證碼,怎么讓后臺發送驗證碼?
無論GET還是POST方式都是把數據發送到后臺,ajax從哪里取回后臺的數據呢?
百思不得其解之下,我又查詢了另一本資料,找到一個示例:
其中XMLHttpRequest對象送回響應的處理語句是:
request.onreadystateschange=alertContent; function alertContent(){ ... alert(request.responseText); ... }
請求的文件為check.php
其中有這么幾句條件輸出:
if($info){ echo "你的用戶名可以使用"; }else { echo "該用戶名已被注冊"; }
而運行實例效果圖中赫然在靜態頁面彈出消息框,內容如check.php頁面的輸出!!!
也就是說ajax能請求到一個php頁面的輸出內容,于是,接下來簡單多了,因為圖片也是驗證碼頁面的輸出,所以不能直接ajax驗證碼頁面,不然就把圖片的數據也獲取了。
新建一個php頁面:
sission_start(); $code=""; if(!empty($_session['check']))$code=$_session['check']; echo $code;
再在前端用ajax向這個頁面GET一個請求,就能用request.responseText獲取驗證碼了。
然后把驗證過程封裝在一定條件觸發的函數里,即可實時驗證。
關于怎么在PHP中利用Ajax實現一個驗證碼功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。