#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了。
}
本屌丝写了这么多的代码难道就不能给我一个赞嘛。
复制代码