无法使用javascript将JSON响应转换为HTML表
我从Servlet获得以下ajax请求的json响应,但无法将数据转换为表并在jsp中显示无法使用javascript将JSON响应转换为HTML表,javascript,java,html,jsp,Javascript,Java,Html,Jsp,我从Servlet获得以下ajax请求的json响应,但无法将数据转换为表并在jsp中显示 [{ "ordernumber": 123456, "slotservice": "Collection ", "deliverydate": "Jul 1, 2017" }] 下面是我的javascript,它执行ajax请求 function addData(){ if(window.XMLHttpRequest) { //Assuming you
[{
"ordernumber": 123456,
"slotservice": "Collection ",
"deliverydate": "Jul 1, 2017"
}]
下面是我的javascript,它执行ajax请求
function addData(){
if(window.XMLHttpRequest) { //Assuming you're not on one of the old IEs.
var xhttp = new XMLHttpRequest();
xhttp.open("POST","Order",true);
var formData = new FormData(document.getElementById('orderform'));
xhttp.send(formData);
console.log('This is Ajax request to the order controller');
xhttp.onreadystatechange=function() {
if (xhttp.readyState == 4 && (xhttp.status == 200)) {
var myArr = JSON.parse(xhttp.responseText);
console.log(JSON.stringify(myArr));
var tr;
for (var i=0;i<myArr.length;i++){
tr = $('<tr/>');
tr.append("<td>"+myArr[i].ordernumber+ "</td>");
tr.append("<td>"+myArr[i].slotservice+ "</td>");
tr.append("<td>"+myArr[i].deliverydate+ "</td>");
$('ViewOrderResultContainer').append(tr);
console.log
}
}
}
}
else console.log('not working');
}
下面是my index.jsp中定义的表
<div id="divOrderResultContainer">
<table id="ViewOrderResultContainer" border=1>
<thead>
<tr>
<th>OrderNumber</th>
<th>ServiceType</th>
<th>DeliveryDate</th>
</tr>
</thead>
</table>
</div>
有谁能解释一下我在这里做错了什么,以及我怎样才能得到预期的结果
编辑1:我现在更新了我的servlet,如下所示,但它仍然没有在我的jsp中打印HTML表响应
function addData(){
if(window.XMLHttpRequest) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange=function() {
if (xhttp.readyState == 4 && (xhttp.status == 200)) {
var jsonorderdata = JSON.parse(xhttp.responseText);
for (x in jsonorderdata)
txt += "<tr><td>" + myObj[x].ordernumber+ "</td><td>" +
myObj[x].slotservice+ "</td><td>" + myObj[x].deliverydate+ "</td>"
"</tr>";
}
document.getElementById("ViewOrderResultContainer").innerHTML =
txt;
}
}
xhttp.open("POST","Order",true);
var formData = new FormData(document.getElementById('orderform'));
xhttp.send(formData);
}
else console.log('not working');
}
另外,我的javascript在chrome中给出了304:not modified响应,请任何人帮助我如何在jsp中获取表。您在$'ViewOrderResultContainer'.appendtr;中缺少选择器;。添加以按id选择元素
$('#ViewOrderResultContainer').append(tr);
您好,我现在已经添加了选择器,但仍然很抱歉,该表没有显示在jsp页面中。。从控制台日志中,我可以看到servlet的响应被很好地传递给JavaScript,但没有格式化该表。@melpomene-更新了有效的JSON。。