Ajax问题?

js代码如下:

 function send() {
        var xml = new XMLHttpRequest();
        xml.onreadystatechange = function () {
            if(xml.readyState==4 & xml.status==200){
                if(xml.responseText=='true'){
                    document.getElementById("hide_info").innerHTML = '名称已被注册';
                }else {
                    document.getElementById('hide_info').innerHTML = '';
                }
            }
        }
        var name = document.getElementById("name").value;
        var url = "{:U('/Home/User/check',array('name' => name))}";
        xml.open('GET',url,true);
        xml.send(null);
    }

HTML代码:

<span class="reg_text">名称:<input type="text" name="name" id="name" onblur="send()"></span><span id="hide_info"></span><br/>

控制器代码:

public function check(){
        $name = I('get.name');
        $user = D('User');
        $result = $user->field('name')->where(array('name' => $name))->find();
        if($result>0){
            return true;
        }else{
            return false;
        }
    }

想测试用户名检测,但是无法实现,请问哪里有问题吗?

阅读 1.9k
3 个回答

1、按 F12 查看网络请求返回结果
2、TP 框架应该有返回 json 数据的办法
3、前后端接口通信返回 布尔值 不靠谱,通过返回 code 前端去判断请求成功还是失败

if($result>0){
    echo 'true';
}else{
    echo 'false';
}
var name = document.getElementById("name").value;
var url = "{:U('/Home/User/check',array('name' => name))}";
//第二行改成:
var url="{:U('Home/User/check'}"+"/name/"+name;
//结合F12看返回人数据和报错信息。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题