一尘不染

使用trigger('reload')进行ajax调用后,jqgrid无法重新加载

ajax

我正在尝试使用刚刚更改的新数据重新加载网格,以便用户可以看到经过修改的新数据。

我的方法:

jQuery("#relCasePick").click( function(){

   var ids=jQuery("#list10").jqGrid('getGridParam','selarrrow');

   $.ajax({
      type: "POST",
      url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick&orderNumbers="+ids,
      data: JSON.stringify(ids), 
      dataType: "json"
   });

   jQuery("#list10").setGridParam({rowNum:10,datatype:"json"}).trigger('reloadGrid');
});

当我单击此按钮时..我正确地发送了数据,但是当我重新加载它时未用新数据更新..如果有人可以提供帮助,我将非常感谢..


阅读 538

收藏
2020-07-26

共1个答案

一尘不染

我在这里看到的是发布的Ajax调用和另一个重新加载网格的调用。这里的问题是哪个ajax调用将首先完成?你不知道。最好的选择是使用Ajax帖子中的成功回调函数。仅当发布成功时,这才会重新加载网格。

jQuery("#relCasePick").click( function(){

  var ids =jQuery("#list10").jqGrid('getGridParam','selarrrow');

   $.ajax({ 
     type: "POST", 
     url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick&orderNumbers="+ids, 
     data: JSON.stringify(ids),  
     dataType: "json",
     success: function(data) {
       jQuery("#list10").setGridParam({rowNum:10,datatype:"json" }).trigger('reloadGrid'); 
     }
  }); 
});
2020-07-26