ajax异步保存数据导致的easyUI datagrid保存的数据没有回显
easyUI datagrid中需要对编辑数据保存到数据库,编辑完毕之后,点击上方“保存”按钮,将数据更新到数据库并且刷新页面。
js中采用ajax将数据更新到数据库,并调用刷新方法,重新加载datagrid。此时编辑保存的数据未回显,刷新页面,可以看到刚才编辑保存的数据。
检查代码,调试,并无问题,更新数据已保存到数据库。
分析如下
得出以下结论,ajax默认为异步,当ajax中后面的代码需要用到异步请求的数据时,需要采用同步方式。
以下也是一例,请求成功success中需要对后台执行的返回结果进行判定,需采用同步:
// 请求更新 $.ajax({ type:"post", url:"/bcm/UpdateStatus", async:false, data: { "spID": spID, "deptFlag": deptFlag, "encodePpapNameStrSplitWithComma": encodePpapNameStrSplitWithComma }, dataType:"json", success: function (data) { if (data.info.length > 0) { alert(data.info); } } });