Javascript 不重置JSP表中现有数据的新ajax调用

Javascript 不重置JSP表中现有数据的新ajax调用,javascript,ajax,jsp,dom,Javascript,Ajax,Jsp,Dom,下面是我的ajax函数,它从servelt检索数据,并在jps中显示得很好,问题是每次提交新的ajax调用时,表单只是将数据附加到以前调用的结果中,我需要重置存储在表OrderResultContainer中的当前值,然后用新数据显示它 我试过了 document.getElementById("OrderResultContainer").reset = (); 但它只是重置整个表单数据,而不在页面中显示任何数据 function addData() { if(window.XMLHt

下面是我的ajax函数,它从servelt检索数据,并在jps中显示得很好,问题是每次提交新的ajax调用时,表单只是将数据附加到以前调用的结果中,我需要重置存储在表
OrderResultContainer
中的当前值,然后用新数据显示它

我试过了

document.getElementById("OrderResultContainer").reset = (); 
但它只是重置整个表单数据,而不在页面中显示任何数据

function addData() {
  if(window.XMLHttpRequest) { 
    var xhttp = new XMLHttpRequest();
    var loading = document.getElementById("loading");
    document.getElementById("loading").style.display = "";
    document.getElementById("OrderResultContainer").style.display = "none";
    xhttp.open("POST","Order",true);        
    var formData = new FormData(document.getElementById('orderform'));
    xhttp.send(formData);
    xhttp.onreadystatechange=function() {            
        if ((xhttp.readyState == 4) && (xhttp.status == 200)) {                 
            var jsonorderdata = JSON.parse(xhttp.responseText);
            txt = "";
            for (x in jsonorderdata) {                  
                txt += "<tr><td>" + jsonorderdata[x].ordernumber+"</td>""</tr>";

             }                                  
            document.getElementById("loading").style.display = "none";              
            document.getElementById("ViewOrderResultContainer").innerHTML = document.getElementById("ViewOrderResultContainer").innerHTML + txt;                
            document.getElementById("divOrderResultContainer").style.display = "";             
        }
          };                
        }else 
        console.log('Ajax call is failed');
}
函数addData(){
如果(window.XMLHttpRequest){
var xhttp=newXMLHttpRequest();
var加载=document.getElementById(“加载”);
document.getElementById(“加载”).style.display=“”;
document.getElementById(“OrderResultContainer”).style.display=“无”;
xhttp.open(“POST”,“Order”,true);
var formData=newformdata(document.getElementById('orderform');
xhttp.send(formData);
xhttp.onreadystatechange=函数(){
如果((xhttp.readyState==4)和&(xhttp.status==200)){
var jsonorderdata=JSON.parse(xhttp.responseText);
txt=“”;
对于(jsonorderdata中的x){
txt+=“”+jsonorderdata[x]。订单号+“”;
}                                  
document.getElementById(“加载”).style.display=“无”;
document.getElementById(“ViewOrderResultContainer”).innerHTML=document.getElementById(“ViewOrderResultContainer”).innerHTML+txt;
document.getElementById(“divOrderResultContainer”).style.display=“”;
}
};                
}否则
log('Ajax调用失败');
}

在从servlet收到新的ajax响应后,有谁能帮助我单独重置表
OrderResultContainer
中的数据吗

您可以使用以下代码将接收到的数据附加到上一页:

document.getElementById("ViewOrderResultContainer").innerHTML = document.getElementById("ViewOrderResultContainer").innerHTML + txt; 
因此,如果按以下方式更改,则只会有新数据:

document.getElementById("ViewOrderResultContainer").innerHTML = txt; 

没有相应的html很难看到,但这看起来像是个问题:

document.getElementById("ViewOrderResultContainer").innerHTML = 
document.getElementById("ViewOrderResultContainer").innerHTML + txt;      
您可以从ViewOrderResultContainer中获取innerHtml并从txt中附加值。如果你不止一次这样做,它就会继续增长。如果要替换文本,请将其替换为

document.getElementById("ViewOrderResultContainer").innerHTML = txt;
p、 给定的javascript无效

txt += "<tr><td>" + jsonorderdata[x].ordernumber+"</td>""</tr>";
txt+=''+jsonorderdata[x].ordernumber+'';