2015-09-06 63 views
-2

我写在HTML表格显示数据下面的代码从数据库中JSON格式返回显示数据

success : function(data){ 
      alert("declaring variable"); 
      var output="<table id=tableStyle>"; 
      alert("creating output"); 
      output+="<tr>" + "<th>" + "REPORTSUITE_ID" + "</th>" + "<th>" + "REPORTSUITE_NAME" + "</th>" + "<th>" + "STAGING_DATABASE" + "</th>" + "<th>" + "DWH_DATABASE" + "</th>" + "</tr>"; 
      alert("starting for loop"); 
      for (var i in data) 
      { 
       output+="<tr>" + "<td>" + data[i].REPORTSUITE_ID + "</td>" + "<td>" + 
     "<button>"+data[i].REPORTSUITE_NAME + "</button>" + 
     "</td>" + "<td>" + data[i].STAGING_DATABASE + "</td>" + "<td>" + data[i].DWH_DATABASE + "</td>" + "</tr>"; 
      } 
      output+="</table>"; 
      alert ("displaying now "); 
      document.getElementById("placeholder").innerHTML=output; 
      } 

在JSON的数据格式如下所示:

[{"DWH_DATABASE": "abc", "REPORTSUITE_ID": 51, "REPORTSUITE_NAME": "C1","STAGING_DATABASE": "def", "TRANS_TABLE": "T1"}, 
{"DWH_DATABASE": "abc", "REPORTSUITE_ID": 49, "REPORTSUITE_NAME": "C2", "STAGING_DATABASE": "def", "TRANS_TABLE": "T2"}, 
{"DWH_DATABASE":"abc", "REPORTSUITE_ID": 40, "REPORTSUITE_NAME": "C3", "STAGING_DATABASE": "def", "TRANS_TABLE": "T3"}] 

当我执行上面的代码中,我得到的结果如下:

REPORTSUITE_ID REPORTSUITE_NAME STAGING_DATABASE DWH_DATABASE 
undefined   undefined   undefined   undefined 
undefined   undefined   undefined   undefined 
undefined   undefined   undefined   undefined 

请告诉我如何d正确显示数据

+0

你的'data'参数是一个JSON字符串还是已经被解析成一个Javascript对象? – jfriend00

+0

我认为在循环内部,你应该通过'i'来访问数据,比如'i.DWH_DATABASE'而不是'data [i] .DWH_DATABASE' – wallek876

+0

当你不在这里附近时很难帮助你,以便及时回答我们提出的问题。 – jfriend00

回答

0

你必须首先解析JSON这样你就可以对付它作为一个对象不使用下面的代码作为第一行文字成功的方法:

data = JSON.parse(data); 
+0

我已经尝试过这件事,但我仍然得到相同的输出 – sk215

0

代码是正确的,但要确保数据变量实际上包含数据。打印出来通过控制台事先,你会看到里面有什么:

console.log("data:" + data); 
+0

我确实对数据警报,它提示正确的数据,所以数据正在返回 – sk215