xmlhttp.responseText不显示文本

时间:2012-09-13 10:41:34

标签: javascript xmlhttprequest responsetext

我遇到了ajax responseText的情况。来自url的响应文本功能很好。但是ajax代码中的内容出错了。它无法识别响应文本并将类添加到目标ID。这是代码:

<script type="text/javascript">
function updateField(nameValue){
    var xmlHttp=null;
    try{
        xmlHttp=new XMLHttpRequest();
        }
catch (e){
    try{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
catch (e){
    alert("No AJAX!");
    return false;
    }
}
xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4){
        if (xmlHttp.status==200){
            //this will be called after update
                var responseText = xmlHttp.responseText;        
            }
        }
    }
    //this will send the data to server to be updated
    xmlHttp.open("GET", 'inc/room_rate_updatez.php?'+ nameValue, true);
    xmlHttp.send(null);
}

function doSomethingAfterUpdate(retValFromPHP){
//retValFromPHP can be any thing you want!

    if (reponseText == "Failed"){
       document.getElementById("result").innerHTML=xmlhttp.responseText.className = "error";
    }else{
       document.getElementById("result").innerHTML=xmlhttp.responseText.className = "success";
    }
}

</script>

<div id="result"></div><input type="text" name="rate|498|6500-5200-4600-5600-4100|0" id="498" value="6500" size="10" onchange="updateField(this.name + '=' + this.value);"/>

room_rate_updatez.php的回复是“成功”和“失败”。 我已多次尝试使它工作但没有运气。请建议。

2 个答案:

答案 0 :(得分:1)

Check the readyState & status like below.

if (xmlHttp.readyState==4 && xmlHttp.status==200)
 {
  var httpResp=xmlhttp.responseText;
 }
var scriptObj1 = $.parseJSON(httpResp);

答案 1 :(得分:0)

试试这个:

function updateField(nameValue){
   var xmlHttp=null;
   ....
   xmlHttp.onreadystatechange=function(){
    if(xmlHttp.readyState==4){
        if (xmlHttp.status==200){
            //this will be called after update
                var responseText = xmlHttp.responseText;        
                doSomethingAfterUpdate(responseText);
            }
        }
    }
    //this will send the data to server to be updated
    xmlHttp.open("GET", 'inc/room_rate_updatez.php?'+ nameValue, true);
    xmlHttp.send(null);
}



function doSomethingAfterUpdate(retValFromPHP){
//retValFromPHP can be any thing you want!

    if (retValFromPHP == "Failed"){
       document.getElementById("result").innerHTML = "error";
       document.getElementById("result").className = "error" 
    }else{
       document.getElementById("result").innerHTML = "success";
       document.getElementById("result").className = "success" 
    }
}