数据保存成功后,需要刷新页面,但是刷新后还是老数据

今天做了一个功能,保存成功后,刷新页面,

$('#btn').on('click', function(event) {
  var ids = $("#idt").getChecked();
  if (ids.length > 0) {
   $.ajax({
    url : basePath + "/XXX",
    data : {
     ids : ids.join(","),
    },
    success : function(data, message) {
   })
  } else {
   alert("请选择一条以上的数据");
   return;
  }

  $btGrid.flexReload({});
    }
 });

最后调试半天都不行,怀疑是因为后端当时还没保存到数据库,导致查询出来的是老数据,在第一个请求,采用线程暂停一会的方式,比如5秒,发现还是老数据。

最后采用F12调试。发现第一个请求到后端后,还没到5秒,第二个请求紧接着就又往后台发了。

原因大致找到了,是因为,第一个ajax请求的结果还未返回给前端,第二个请求又发起了。

改成,第一个请求返回成功后再进行刷新即可。

$('#btn').on('click', function(event) {
  var ids = $("#idt").getChecked();
  if (ids.length > 0) {
   $.ajax({
    url : basePath + "/XXX",
    data : {
     ids : ids.join(","),
    },
    success : function(data, message) {

 //成功后,才需要刷新页面,这样才可以加载到最新数据。

 $btGrid.flexReload({});
   })
  } else {
   alert("请选择一条以上的数据");
   return;
  }
    }
 });

 

你可能感兴趣的:(Java)