Java servlet+;ajax+;jsp

Java servlet+;ajax+;jsp,java,ajax,jsp,servlets,Java,Ajax,Jsp,Servlets,嗨,在使用Ajax调用servlet之后,我试图用一些文本填充jsp文件中声明的文本字段。responseText包含servlet返回的文本,但是带有消息id的输入没有填充该文本,我不知道为什么。有什么建议吗?使用的代码如下 function ajaxFunction() { if(xmlhttp) { var txtname = document.getElementById("txtname"); xmlhttp.open("POST","getname",true);

嗨,在使用Ajax调用servlet之后,我试图用一些文本填充jsp文件中声明的文本字段。responseText包含servlet返回的文本,但是带有消息id的输入没有填充该文本,我不知道为什么。有什么建议吗?使用的代码如下

function ajaxFunction() {
  if(xmlhttp) { 
   var txtname = document.getElementById("txtname");
    xmlhttp.open("POST","getname",true); //getname will be the servlet name
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send("txtname=" + txtname.value); //Posting txtname to Servlet
  }
}

function handleServerResponse() {
    //alert(xmlhttp.readyState);//ok    
   if (xmlhttp.readyState == 4) {
       alert(xmlhttp.status);
     if(xmlhttp.status == 200) {
         alert(xmlhttp.responseText); // this is ok
         document.getElementById("message").innerHTML=xmlhttp.responseText; // doesn't work
       //document.myForm.message.innerHTML=xmlhttp.responseText; //neither
     }
     else {
        alert("Error during AJAX call. Please try again");
     }
   }
}
</script>

<body>
  <form name="myForm" method="POST" action="/ajjax/getname">
    <table>
      <tr>
        <td>Enter Name</td>
        <td><input type="text" name="txtname" id="txtname" /></td>
      </tr>
      <tr>
        <td colspan="2"><input type="button" value="Submit" onclick="ajaxFunction();" /></td>
      </tr>
    </table>
    <input type="text" name="message" id="message" />  
  </form>
</body>
</head> </html>
函数ajaxFunction(){
if(xmlhttp){
var txtname=document.getElementById(“txtname”);
open(“POST”,“getname”,true);//getname将是servlet名称
xmlhttp.onreadystatechange=handleServerResponse;
setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlhttp.send(“txtname=“+txtname.value);//将txtname发布到Servlet
}
}
函数handleServerResponse(){
//警报(xmlhttp.readyState);//确定
if(xmlhttp.readyState==4){
警报(xmlhttp.status);
if(xmlhttp.status==200){
警报(xmlhttp.responseText);//这没问题
document.getElementById(“message”).innerHTML=xmlhttp.responseText;//不起作用
//document.myForm.message.innerHTML=xmlhttp.responseText;//两者都不是
}
否则{
警报(“AJAX调用期间出错,请重试”);
}
}
}
输入名称
试试这个:

document.getElementById("message").value = xmlhttp.responseText;

<> >代码> <代码>字段有“代码>值属性,<代码>内文HTML>代码>将不起作用(至少如预期)。请考虑正确答案以表明问题已解决(并奖励帮助您的人,这恰好是我:))@狮子:好问题,要么他/她在几秒钟前更改了名称,要么我把剪贴板弄乱了;-)。更正,谢谢。我更新了你的答案,因为OP仍然没有足够的分数(至少15个声誉)来更新投票。我会在几分钟内完成这项工作,因为现在它说我仍然需要等待4分钟,直到我能够接受答案:)