0

使用 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 文件的回显消息等于“signup_success”(显示在 status.innerHTML 中)但 ajax 永远不会满足 else 条件。错误在哪里?

非常感谢您的努力。

4

1 回答 1

0

您似乎没有在其 function(){} 内的 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";
    }
}
}
于 2013-07-30T10:18:54.030 回答