有时候对数据库的操作需要比较长的等待时间,但这种等待是必要的,也没有性能的提升空间,
那么这时候给用户一个提示,让用户明白在做了操作之后,程序正在执行,而不是没有没有任何响应。
最近在做job定时任务的时候,由于调用pl/sql,每一个job包含多个存储过程,
更新的数据又是百万级甚至更高级别的,所以有一个较长的等待过程,所以给了一个简单的提示:
js代码如下:
/* * 【手动同步】数据 */ $('#btnJobs').click(function(){ var job = $('#job').val(); if(job.length==0){ alert('请选择同步数据类型!'); return false; } var $start = $('#startSpan').ajaxStart(function(){ $(this).html('正在执行...'); }); var url="../userJobs/synchroJobs.do"; $.ajax({ url:url, data:{job:job}, success:function(){ $start.show(); alert("数据同步成功!"); }, complete:function(){ //$start.css('display','none'); $start.hide(); } }); });
当然id为startSpan的span标签可以根据自己的需要提前在页面上合适的位置添加上去即可。
这样便给用于一个简单的【正在执行...】的提示,当程序执行完毕弹出【数据同步成功!】提示框,点击确定之后那个页面上的span元素便会隐藏起来。