老师,控制台没有结果

老师,控制台没有结果

http://img1.sycdn.imooc.com//climg/5da34a3009dac25606510419.jpg

<!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文件已经访问到了,可以控制台没有打印结果是怎么回事?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,可能是老师使用同学的js代码进行测试时,没有清除缓存,所以没有测出来

ajax里面有些问题,如下:

http://img1.sycdn.imooc.com//climg/5da528c10930b7ef10380392.jpg

同学修改后再测试下。记得清除缓存哦

如果帮助到了你,欢迎采纳~祝学习愉快~

好帮手慕言 2019-10-14 16:01:53

同学你好,老师使用同学提供的代码进行测试,是可以打印的

http://img1.sycdn.imooc.com//climg/5da42b440985941306000242.jpg

同学可以再测试下哦。同学也可以下载老师的源码,把自己的代码放到源码里面测试下

如果帮助到了你,欢迎采纳~祝学习愉快~


  • 提问者 慕莱坞1501479 #1
    老师,麻烦再仔细帮我看一下这个ajax.js有什么问题,我引入jqeury文件来执行$.ajax就能正常打印,而使用我封装的这个$.ajax就打印不出来,所以应该是我封装的这个ajax.js有问题,但我实在看不出来有什么问题,跟着视频一步一步敲的代码,我这个应该是没有执行sucess这个函数
    2019-10-14 22:59:19
提问者 慕莱坞1501479 2019-10-14 00:16:46

http://img1.sycdn.imooc.com//climg/5da34db709a0c24604710359.jpg

老师,我在这里面可以看到这样的结果,但是就是打印不出来

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师