ajax responseText不起作用

时间:2013-07-30 10:10:39

标签: php ajax

使用ajax我将一些数据发送到php文件,这会产生一些错误处理和数据库内容。如果一切正确,php文件会回显一条消息。

function signup() {
    var u = _("username").value;
    var e = _("email").value;
    _("signupButton").style.display = "none";
    status.innerHTML = 'please wait ...';
    var ajax = ajaxObj("POST", "path/signup.php");
    ajax.onreadystatechange = function() {
        if(ajaxReturn(ajax) == true) {
            if(ajax.responseText != "signup_success") {
                status.innerHTML = ajax.responseText;
                _("signupButton").style.display = "block";
            } else {
                window.scrollTo(0,0);
                _("signupForm").innerHTML = "Some Text";
            }
        }
    }
    ajax.send("u="+u+"&e="+e);
}

现在的问题是php文件的echo消息等于“signup_success”(显示在status.innerHTML中)但是ajax永远不会满足else条件。错误在哪里?

非常感谢您的努力。

1 个答案:

答案 0 :(得分:0)

你似乎在其函数(){}之后的onreadystatechange之后检查以下内容:

if(ajaxReturn(ajax) == true) {    
if( (ajax.readyState == 4) && (ajax.status == 200) )
{
    //if(ajax.responseText != "signup_success") {
    if(ajax.responseText.search('signup_success')>=0){
    status.innerHTML = ajax.responseText;
    _("signupButton").style.display = "block";
    } else {
    window.scrollTo(0,0);
    _("signupForm").innerHTML = "Some Text";
    }
}
}