老师,控制台没有结果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>register</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="register">
<p class="title">
<span>登 录</span>
<span class="current">注 册</span>
</p>
<div class="form">
<div>
<span>+86</span>
<input type="text" name="user" id="user" placeholder="请输入注册手机号" autocomplete="off" />
<i id="user_icon"></i>
<p class="info" id="user_info"></p>
</div>
<div>
<input type="password" name="pwd" id="pwd" placeholder="请设置密码">
<i></i>
<p class="info"></p>
</div>
<p class="button">
<a href="javascript:void(0)" id='signup-btn' class="btn">注册</a>
</p>
</div>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript">
var user=document.getElementById('user'),
pwd=document.getElementById('pwd'),
signup=document.getElementById('signup-btn'),
userInfo=document.getElementById('user_info');
userIcon=document.getElementById('user_icon');
//检测用户
function checkUser(){
var userVal=user.value;
//验证手机号是否有效
userReg=/^1[3578]\d{9}$/
if(!userReg.test(userVal)){
userInfo.innerHTML='手机号码无效';
userIcon.className="no";
}else{
userInfo.innerHTML='';
//发起请求
$.ajax({
url:"http://localhost/register/server/isUserRepeat.php",
method:"post",
async:true,
data:{username:userVal},
success:function(data){
console.log(data);
}
})
}
}
//绑定事件,检测用户是否注册过
user.addEventListener('blur',checkUser,true);
</script>
</div>
</body>
</html>
//ajax.js封装
var $={
ajax:function(options){
var xhr=null, //XMLHttpRequest对象
url=options.url, //url
method=options.method||"get", //method
async=typeof(options.async)==="undefined"?true:options.async,
data=options.data||null, //参数
params="",
callback=options.success, //ajax请求成功的回调函数
error=options.error;
//将data的对象字面量的形式转换为字符串形式
if(data){
for(var i in data){
params+=i+"="+data[i]+'&';
}
params=params.replace(/&$/,"");
}
//method的值改变url
if(method==="get"){
url+="?"+params;
}else{
}
if(typeof XMLHttpRequest !="undefined"){
xhr= new XMLHttpRequest();
}else if(typeof ActiveXobject !="undefined"){
//将所有可能出现的ActiveXbject版本放在一个数组中
var xhrArr=['Microsoft.XMLHTTP',
'MSXML2.XMLHTTP.6.0',
'MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0',
'MSXML2.XMLHTTP.3.0',
'MSXML2.XMLHTTP.2.0'];
//遍历创建XMLHTTPRequest对象
var len=xhrArr.length;
for(var i=0;i<len;i++){
try{
//创建XMLHTTPRequest对象
xhr=new ActiveXobject(xhrArr[i]);
break;
}
catch(ex){
}
}
}else{
throw new Error("NO XHR object avalible");
}
xhr.onreadystatechange=function(){
if(xhr.onreadystate===4){
if(xhr.status>=200&&xhr<300||xhr.status===304){
callback&&callback(JSON.parse(xhr.responseText));
console.log(xhr.responseText);
}else{
error&&error();
}
}
}
//创建发送请求
xhr.open(method,url,async);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(params);
}
}
用浏览器的network查看如图所示,是不是表示那个php文件已经访问到了,可以控制台没有打印结果是怎么回事?
正在回答
同学你好,可能是老师使用同学的js代码进行测试时,没有清除缓存,所以没有测出来
ajax里面有些问题,如下:
同学修改后再测试下。记得清除缓存哦
如果帮助到了你,欢迎采纳~祝学习愉快~
老师,我在这里面可以看到这样的结果,但是就是打印不出来
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星