2017-06-18 8 views
0

我已经像数据的列表...
继续Ajax调用表格数据,直到没有发现文字

| Coloumn1 | Coloumn2 | Coloumn3 | 
|----------|----------|-----------| 
| val1  | val2  | val3  | 
| val1  | ' '  | val3  | 

上表我对形式已经提交,目前一段时间后,我发现价值Coloumn2而不是''/ BLANK,所以我想把它放到桌子上而不用重新加载页面。

我下面的代码结构...

myInstance.gsp

<tbody id="myInstanceTData"> 
<g:each in="${myInstanceList}" var="myInstance"> 
<tr id="${myInstance?.id}"> 
     <td class="align-center zoomout"> 
     <td class="align-center">${myInstance?.text?:"N/A"}</td> 
     </td> 
     <td class="align-center" style="color:${myInstance?.objectColor}"> 
      <g:if test="${myInstance?.object}"> 
       ${myInstance.object} 
      </g:if> 
      <g:else> 
       ${"Second Analytics"}<br>${"In-Progress"} 
       <img src='../assets/transfer.gif' style="height: 18px;"/> 
      </g:else> 
     </td> 
     <td class="align-center" style="color:${myInstance?.objectColor}">${myInstance?.confidence?:"N/A"}</td> 
    </tr> 
</g:each> 
</tbody> 

目前,我已经写了${"Second Analytics"}<br>${"In-Progress"}这里我需要打电话给控制器的动作,直到我没有收到任何文本一样。

谢谢...

+0

使用与服务器端处理的数据表将是理想在这里https://datatables.net/examples/data_sources/server_side.html,您可以使用该表的周期性刷新例如https://datatables.net/reference/api/ajax.reload() –

回答

0

我试过下面的代码。为我工作得很好。

function fetchColumn2() { 
    setInterval(loadColumn2, 3000,id);  
} 

function loadColumn2(id){ 
//Make ajax call and get response 
$.ajax({ 
     url:URL,//URL to action in controller 
     data: {id:'1'}, 
     success: function(resp){ 
      console.log(resp.id); 
      console.log(resp.column2); 
      var column2Val = resp.column2; 
      if(column2Val != ""){ 
       //TODO: Set value to your table data 
       clearInterval(this); 
      }     
     } 
    }); 
} 
+0

感谢@Ankit它适用于我 –