Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用javascript将JSON响应转换为HTML表_Javascript_Java_Html_Jsp - Fatal编程技术网

无法使用javascript将JSON响应转换为HTML表

无法使用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

我从Servlet获得以下ajax请求的json响应,但无法将数据转换为表并在jsp中显示

[{
  "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。。