利用Ajax向后台发了一个请求,取得数据后将所得的Json串数组用Table的形式显示在前台,代码如下:function responseFun() {
var options = {method:"post", asynchronous:true, parameters:"loadContentFlag=ConfigSite", onSuccess:function (xmlhttp) {
try {
var response = xmlhttp.responseText;
eval("var siteInfo = " + response);
var siteInfoLen = siteInfo.length;
for (var i = 0; i < siteInfoLen; i++) {
var crCount = siteInfo[i].crCount;
var csCount = siteInfo[i].csCount;
var serverCount = siteInfo[i].serverCount;
var siteName = siteInfo[i].siteName;
var gkCount = siteInfo[i].gkCount;
var trCon = document.createElement("tr");
var siteContent = "<td>" +siteName + "</td><td>" + serverCount + "</td><td>" + crCount + "</td><td>" + csCount + "</td><td>" + gkCount + "</td>";
trCon.innerHTML = siteContent;
document.getElementById("siteCon").childNodes[0].appendChild(trCon);
}
confirm(document.getElementById("siteCon").innerHTML);
}
catch (e) {
}
}, onFailure:function (xmlhttp) {
alert("onFailure");[code=HTML]
}};
new Ajax.Request("loadContent", options);
options = null;
}
[/code]
执行到document.getElementById("siteCon").childNodes[0].appendChild(trCon);时
var siteContent = "<td>" +siteName + "</td><td>" + serverCount + "</td><td>" + crCount + "</td><td>" + csCount + "</td><td>" + gkCount + "</td>";中的第一个“<td>”不显示,打印结果如下:
confirm(document.getElementById("siteCon").innerHTML);
<TBODY>
<TR style="BACKGROUND: #999999">
<TD>Site ID </TD>
<TD>Server Count </TD>
<TD>CR Count </TD>
<TD>CS Count </TD>
<TD>GK Count </TD></TR>
<TR>UFO-SIN Unifone</TD><TD>4</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR>GYN-ETN Easytone Goiania</TD><TD>5</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR>LDB-ETN Easytone Londrina</TD><TD>4</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR>
<TR>CGB-ETN Cuiaba Easytone</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>34</TD></TR>
<TR>MGF-ETN</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>34</TD></TR>
<TR>London (Multi G)</TD><TD>0</TD><TD>0</TD><TD>0</TD><TD>0</TD></TR></TBODY>

解决方案 »

  1.   

    上面的代码被分开了,现将完整代码重新发一下,如下:
    function responseFun() {
    var options = {method:"post", asynchronous:true, parameters:"loadContentFlag=ConfigSite", onSuccess:function (xmlhttp) {
    try {
    var response = xmlhttp.responseText;
    eval("var siteInfo = " + response);
    var siteInfoLen = siteInfo.length;
    for (var i = 0; i < siteInfoLen; i++) {
    var crCount = siteInfo[i].crCount;
    var csCount = siteInfo[i].csCount;
    var serverCount = siteInfo[i].serverCount;
    var siteName = siteInfo[i].siteName;
    var gkCount = siteInfo[i].gkCount;
    var trCon = document.createElement("tr");
    var siteContent = "<td>" +siteName + "</td><td>" + serverCount + "</td><td>" + crCount + "</td><td>" + csCount + "</td><td>" + gkCount + "</td>";
    trCon.innerHTML = siteContent;
    document.getElementById("siteCon").childNodes[0].appendChild(trCon);
    }
    confirm(document.getElementById("siteCon").innerHTML);
    }
    catch (e) {
    }
    }, onFailure:function (xmlhttp) {
    alert("onFailure");
    }};
    new Ajax.Request("loadContent", options);
    options = null;
    }
      

  2.   

      你还需要贴出来Id为siteCon对象的内容和Json对象的的文本。  
      

  3.   

    <table cellpadding="0" cellspacing="0" id="siteCon"
    style="border-left: 1px #999999 solid; border-top: 1px #999999 solid; width:100%; text-align: center;">
    <tbody>
    <tr style="background: #999999">
    <td>
    Site ID
    </td>
    <td>
    Server Count
    </td>
    <td>
    CR Count
    </td>
    <td>
    CS Count
    </td>
    <td>
    GK Count
    </td>
    </tr>
    </tbody>
    </table>
      

  4.   

    <table cellpadding="0" cellspacing="0" id="siteCon"
    style="border-left: 1px #999999 solid; border-top: 1px #999999 solid; width:100%; text-align: center;">
    <tbody>
    <tr style="background: #999999">
    <td>
    Site ID
    </td>
    <td>
    Server Count
    </td>
    <td>
    CR Count
    </td>
    <td>
    CS Count
    </td>
    <td>
    GK Count
    </td>
    </tr>
    </tbody>
    </table>