2016-08-12 133 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; 
    } 
    }