js代码function showHint()
{   
submt();
var xmlHttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlHttp=new XMLHttpRequest();
  } else {// code for IE6, IE5
   xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
var text = "测试!" ;
//var text1=document.getElementById('addtext').innerHTML;
var url = "addart.php" ;xmlHttp.open("post",url,true);
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlHttp.send(text);
xmlHttp.onreadystatechange=changecontent;
}function changecontent(){
if (4==xmlHttp.readyState){
if (200==xmlHttp.status){
alert(xmlHttp.responseText) ;
document.getElementById('addtext').innerHTML=xmlHttp.responseText;
}else{
alert("发生错误!");
}
}
}php代码$response = $_REQUEST["text"];
echo $response ;为什么responseText没有值呢?

解决方案 »

  1.   

    使用Chrome、Safari的JS控制台或FireBUG看看JS有没有报错。
      

  2.   

    function submt(){
    var Request=new UrlSearch(); //实例化
    var sgn = Request.act;
    if( sgn !="ace"){
    alert("请登录后评论!");
    document.login.uname.focus();
    return false;
    } else {  //
    if (document.getElementById('area').value== ""){
    alert("您的评论不能为空!");
    document.message.area.focus();
    return false;
    };
    }
    }
      

  3.   

    xmlHttp这个是局部变量回调里面找不到,这个是最大的逻辑错误
      

  4.   

    你的 showHint()
    是怎么调用的?
      

  5.   


    <form method="post" name="message" >
    <table align="center" class="nobrd"> 
      <tr>
         <td width="660" colspan="6" align="center" class='brd'><textarea name="area"  id="area" style="border:1px dashed #966; height:60px; width:640px; text-align:left; overflow-y:auto"></textarea></td>
       </tr>
    </table>
    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="nobrd" >
       <tr>
        <td> <input type="button" value="提交" onClick="return showHint()"/></td>
            </tr>
         </table>    
    </form>
      

  6.   

    其次没看见你那里开始调用方法,再次是submit()是啥东东
      

  7.   


    问题是我把xmlHttp改为全局变量后,alert出来的是空对话框
      

  8.   

    var text = "text=" + encodeURI("测试!");
    应该是key=value的形式
      

  9.   

    var xmlHttp;
    function showHint(){
    //submt();//先注释了
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlHttp=new XMLHttpRequest();
      } else {// code for IE6, IE5
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    var text = "text=" + encodeURI("测试!");
    //var text1=document.getElementById('addtext').innerHTML;
    var url = "test.php" ;xmlHttp.open("post",url,true);
    xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlHttp.send(text);
    xmlHttp.onreadystatechange=changecontent;
    }
    showHint();//因为测试,我就在这里调用了
    function changecontent(){alert(1);
    if (4==xmlHttp.readyState){
    if (200==xmlHttp.status){
    alert(xmlHttp.responseText) ;
    document.getElementById('addtext').innerHTML=xmlHttp.responseText;
    }else{
    alert("发生错误!");
    }
    }
    }
      

  10.   

    改成这样function showHint() {   
      submt();
      var xmlHttp;
      if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlHttp=new XMLHttpRequest();
      } else {// code for IE6, IE5
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      var text = "text=测试!" ;
      var text1=document.getElementById('addtext').innerHTML;
      var url = "addart.php" ;  xmlHttp.open("post",url,true);
      xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      xmlHttp.send(text);
      xmlHttp.onreadystatechange = function(){
        if (4==xmlHttp.readyState){
          if (200==xmlHttp.status){
            alert(xmlHttp.responseText) ;
            document.getElementById('addtext').innerHTML=xmlHttp.responseText;
          }else{
            alert("发生错误!"); 
          }
        }
      }
    }