1

私は JavaScript で関数を持っています:

function login() {
    user=document.getElementById("user_id").value;
    pass=document.getElementById("password").value;
    params="user="+user+"&pass="+pass;
    url="check_login.php";

    if(window.XMLHttpRequest) {
        var http=new XMLHttpRequest();
    } else {
        var http=new ActiveXObject("Microsoft.XMLHTTP");
    }
    var http=new XMLHttpRequest();

    http.onreadystatechange=function(){
        if(http.status==200 && http.readyState==4) {
            text=http.responseText;
            alert(text.status);
        }
    }
    http.open("POST",url,true);
    http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    http.send(params);
    return false;
}

サーバー側は、次のような json データを返します。

$return=array("status"=>"true","user"=>$user,"fname"=>$fname,"middle_name"=>$middle_name,"lname"=>$lname);
$return=json_encode($return);
echo $return;

これで、アラートはアラートを真にするはずですが、機能しません。明確にすることができれば幸いです

4

1 に答える 1

2

JSONオブジェクトのエンコード文字列のJSON.parse(text)前に使用alert(text.status)

http.onreadystatechange=function(){
    if(http.status==200 && http.readyState==4) {
        text=JSON.parse(http.responseText);
        alert(text.status);
    }
}
于 2012-12-12T12:45:34.230 に答える