鍍金池/ 問答/PHP/ Ajax問題?

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;
        }
    }

想測試用戶名檢測,但是無法實現(xiàn),請問哪里有問題嗎?

回答
編輯回答
薄荷綠

1、按 F12 查看網(wǎng)絡(luò)請求返回結(jié)果
2、TP 框架應(yīng)該有返回 json 數(shù)據(jù)的辦法
3、前后端接口通信返回 布爾值 不靠譜,通過返回 code 前端去判斷請求成功還是失敗

2017年3月3日 16:56
編輯回答
孤巷
var name = document.getElementById("name").value;
var url = "{:U('/Home/User/check',array('name' => name))}";
//第二行改成:
var url="{:U('Home/User/check'}"+"/name/"+name;
//結(jié)合F12看返回人數(shù)據(jù)和報錯信息。
2018年6月21日 11:26
編輯回答
骨殘心
if($result>0){
    echo 'true';
}else{
    echo 'false';
}
2017年2月22日 08:32