#By Ajax驗證註冊的帳號數據庫中是否存在php
初涉後端,若有冒犯,還請後端大哥指正
Ajax的存在,給了咱們真的事太多驚喜。這種技術的存在就是讓咱們在無需刷新頁面,就能夠從數據庫中取得數據。
不BB了,上代碼~
Ajax:(這裏以發送post請求爲例)
1.建立一個對象:
let xhr = new XMLHttpRequest();
2.配置這個對象(調用open()的方法)
//第一個參數爲請求的類型、第二個參數爲請求的URL,第三個參數爲是否異步發送的布爾值
xhr.open('GET',`/marvel/api/checkuser.php?username=${user}`,true)
3.準備接受響應(readystate是對象xhr的一個屬性,在這裏咱們利用事件監聽這個屬性的狀態的改變)
xhr.onreadystatechange = function() {
//當readyState發生了變化,會觸發該事件。
xhr.readyState ===0 ===>xhr這個對象剛建立,可是沒有調用
xhr.readyState ===1 ===>對象調用了,可是沒有send
xhr.readyState ===2 ===> 對象調用了send,可是沒有返回響應
xhr.readyState ===3 ===>對象收到了部分響應
xhr.readyState ===4 ===>收到了所有的響應
//咱們對數值進行判斷,若是!=4,就return
if(xhr.readyState !=4) {
return;
}
//若是xhr這個對象的屬性readyState ===4;服務器已經給出了所有的響應。可是咱們還須要進一步去判斷瀏覽器的相應結果,也就是響應的狀態碼。這個狀態碼放置在xhr.status中,當狀態碼在[200,300)之間,咱們就能夠認爲其響應成功。
if(xhr.status >=200 &&xhr.status < 300) {
//響應成功,咱們須要取得響應的數據,放在對象xhr的responseText中.
alert(xhr.responseText); //responseText是知足json格式的字符串
}else{
//響應失敗
}
}
//4.發送請求
xhr.send(); //調用xhr的send()方法。在括號中沒必要寫入確切值。
change
【另須要注意的是ajax是不支持後端請求重定向的】
解釋:對於ajax,本文介紹的很籠統,只是向你們解釋最基本的ajax發送get請求的基本方法與驗證註冊帳號是否存在,因此,咱們還沒完呢~
不少事情的操做都是離不開對DOM的操做的,咱們要驗證註冊的帳號,就必須取得這個帳號以後發送給後端。
document.querySelector('input[name="username"]').onblor = function() {
var user = this.value;
//把上文的ajax放在這就OK了。
}
本屌絲寫了這麼多的代碼難道就不能給我一個贊嘛。
複製代碼