2016-08-12 136 views
2

我試圖渲染Ajax響應列的內容,但它不會顯示在列東西,儘管Ajax響應返回數據,數據表列渲染與Ajax響應

{ 
    "width": "20%","targets": 6, 
    "defaultContent": '', 
    "render": function (data, type, row) { 
     if(row.colData !=''){ 
      $url="server request url"; 
      var ret= row.colData 
      var aydGuid=row.guid; 
      var params = {relatedHID:ret,guid:aydGuid}; 
       $.ajax({ 
        url: $url, 
        async: true, 
        data: jQuery.param(params), 
        dataType:'html' 
        }).done(function(data) { 
         alert(data) //displays response 
         return data //does nothing          
        }); 
} 
+0

可能重複[如何返回來自異步調用的響應?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-打電話) – aaronofleonard

+0

猜猜你沒看好帖子。我從AJAX獲得響應方面沒有問題。我的問題是ajax響應不是渲染到數據表中(https://datatables.net/) – Rishi

+0

問問你自己這個問題:當你調用返回數據時,你認爲它返回到哪裏? – aaronofleonard

回答

2

得到它的工作,

{ 
     "width": "20%","targets": 6, 
     "defaultContent": '', 
     "render": function (data, type, row, meta) { 
     $urlAgent="url"; 
     var ret= data.join('^') 
     var aydGuid=row.guid; 
     var params = {relatedHID:ret,guid:aydGuid}; 
     var currentCell = $("#tbl_DT").DataTable().cells({"row":meta.row, "column":meta.col}).nodes(0); 
      $.ajax({ 
       url: $urlAgent, 
       data: jQuery.param(params), 
       dataType:'html' 
      }).done(function (data) {                    
       $(currentCell).html(data); 
      }); 
      return null; 
    } 
    }