溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在PHP中利用Ajax實現一個驗證碼功能

發布時間:2021-01-22 15:46:59 來源:億速云 閱讀:240 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關怎么在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實現一個驗證碼功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女