2015-08-19 72 views
0

有一個ajax調用系統,它返回JSOn作爲響應並顯示在HTML表格中。如何解析JSON數據並在JQuery中使用Ajax顯示它?

在HTML中,我們下面的代碼,數據是要顯示:

<table id="documentDisplay"> 
     <thead> 
      <tr> 
       <th align="left">Document Type</th> 
      <th align="left">File Name</th> 
      <th align="left">Document Date</th> 
      </tr> 
     </thead> 
     </table> 

下面是Ajax調用和相應的方法調用:

documentCommon.ajax({ 
     blockUI: false, 
     type: 'POST', 
     //dataType: 'html', 
     url : 'loaddocument.json', 
     data: { 
      '_CONV_ID': $('input[name="_CONV_ID"]').val(), 
     }, 
     success: function (data) { 
      alert(data); 
      console.log(data); 

      document.documentDisplay.clear().rows.add(data.lines).draw(); 
      //Here we get an error 
     }, 

    }); 



document.documentDisplay= $('#documentDisplay').DataTable($.extend({}, documentCommon.tableTemplate, { 
      asStripClasses: [], // No stripes 
      width:  "100%", 
      scrollY: "150px", 
      columnDefs: [ 
       {"width": "20%", targets: 0}, 
       {"width": "40%", targets: 1}, 
       {"width": "40%", targets: 2}, 
      ], 
      columns: [ 
       {"data": "documentType"}, 
       {"data": "fileName"}, 
       {"data": "documentDate"} 
      ] 
    })); 

Ajax是能夠發送請求並帶回數據。以下是螢火蟲輸出:

[ 
{ 
    "documentDate":[ 
    2015, 
    8, 
    18, 
    13, 
    1, 
    51 
    ], 
    "documentType":"X", 
    "documentId":18038, 
    "fileExtension":"pdf", 
    "filename":"kuka.pdf", 
    "link":"http://something.com/kuka.pdf", 
}, 
So on and end with ] 

是顯示在Firebug的錯誤如下:

TypeError: a is undefined 

這是一個錯誤的代碼?有沒有其他的方式來實現相同的?此外,我想檢查數據表中的documentType,即如果documetType是X然後顯示其他不顯示。有沒有辦法做同樣的事情?

+1

在您的樣本輸出的成功回調沒有'lines'屬性,你打電話在你的代碼中。除此之外,請確保數據表和jquery都是最新的。在過去的版本中,我遇到了一些不匹配的問題。 – Sirko

+1

@Sirko 謝謝。你是沒有線路屬性。所以我認爲我應該只傳遞數據,但數據表將直接選擇{「data」:「documentType」},因爲它是?你有什麼更改建議? 沒有版本問題,因爲許多其他地方datatables使用和工作正常,我是新來的,所以它第一次結合使用它。 – fatherazrael

+1

下一個問題是你的名字:在表格定義和對象你使用不同的大寫/小寫。然而,我不確定datatable在'documentDate'下如何處理數組。 – Sirko

回答

-2

如果你正在使用jQuery的AJAX,那麼你可以直接通過獲取JSON數據:data.responseJSON在Ajax調用

+0

用戶已經獲取他們的數據...他們想要將它組織成一張表.. – Mayhem

+1

問題是關於json響應,需要正確放入成功回調,responseJSON已經包含解析數據,所以不需要解碼JSON字符串,但我不認爲我的答案是脫節的,儘管它沒有回答,但可能有助於避免再次解碼JSON對象 – Bhupendra

+0

,問題是:如何解析json數據並在JQuery中使用Ajax顯示它?所以我認爲我的回答並不打算被拒絕投票,所以問題主題事宜 – Bhupendra

相關問題