当前位置: 首页 > news >正文

网站自动采集指标临沂网站建设wyjzgzs

网站自动采集指标,临沂网站建设wyjzgzs,图片在线高清处理,浙江网站建设网需求#xff1a;页面点击导出#xff0c;先按照页面条件去数据库查询#xff0c;然后将查询到的数据导出。 问题#xff1a;由于查询特别耗时#xff0c;所以点击之后页面会看上去没有反应 方案1#xff1a;就在点击之后在页面增加了一个进度条#xff0c;等待后端查询…需求页面点击导出先按照页面条件去数据库查询然后将查询到的数据导出。 问题由于查询特别耗时所以点击之后页面会看上去没有反应 方案1就在点击之后在页面增加了一个进度条等待后端查询结束之后导出时进度条会显示导出进度导出结束之后进度条会消失。效果如下 方案2点击导出时前端增加一个遮罩层遮罩层中间显示正在下载导出完成后遮罩层消失好处是可以既给用户提示还可以阻止用户再次点击导出按钮。效果如下 注意点后端需要在响应头中设置ContentLength前端需要用这个更新进度 response.setContentLength(excelBytes.length); // 设置Content-Length 方案1进度条 html代码 导 出 下载进度: 0% css: #progressContainer { width: 100%; background-color: #f3f3f3; border: 1px solid #ccc; border-radius: 5px; } #progressBar { width: 0%; height: 20px; background-color: #4caf50; border-radius: 5px; } js代码 //进度条 $(‘#export_btn’).on(‘click’, function () { // 获取表单数据并构建FormData对象 var formData $(‘#searchForm’).serializeArray(); var form new FormData(); $.each(formData, function () { form.append(this.name, this.value); }); // 添加额外的参数 form.append(‘publishFrom’, ‘${RequestParameters.type}’); // 创建XHR对象 var xhr new XMLHttpRequest(); xhr.open(POST, 路径/exportData, true); xhr.responseType blob; // 设置响应类型为blob// 显示进度条 $(#progressContainer).show(); $(#progressText).show(); $(#progressBar).css(width, 0%); $(#progressText).text(下载进度: 0%);// 设置请求头以模拟表单提交 // xhr.setRequestHeader(Content-Type, application/x-www-form-urlencoded);// 监听下载进度 xhr.onprogress function (event) {if (event.lengthComputable) {var percentComplete Math.round((event.loaded / event.total) \* 100);console.log(Loaded:, event.loaded, Total:, event.total);$(#progressBar).css(width, percentComplete %);$(#progressText).text(下载进度: percentComplete %);} else {console.log(无法计算进度);} };// 下载完成后处理 xhr.onload function () {if (xhr.status 200) {// 隐藏进度条$(#progressContainer).hide();$(#progressText).hide();// 创建下载链接并触发下载var blob xhr.response;var downloadUrl URL.createObjectURL(blob);var a document.createElement(a);a.href downloadUrl;// 从响应头中获取文件名var disposition xhr.getResponseHeader(Content-Disposition);var fileName 下载文件.xlsx;if (disposition disposition.indexOf(filename\*utf-8) ! -1) {var filenameRegex /filename\*utf-8(.)/;var matches filenameRegex.exec(disposition);if (matches ! null matches\[1\]) {fileName decodeURIComponent(matches\[1\]);}}a.download fileName;document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(downloadUrl);} else {alert(下载失败请重试。);$(#progressContainer).hide();$(#progressText).hide();} };// 发送请求 xhr.send(form);}); 后端代码,使用easyExcel导出 //数据查询 List sellList this.search(); // 将Excel写入ByteArrayOutputStream try (ByteArrayOutputStream baos new ByteArrayOutputStream()) { // 使用EasyExcel将数据写入ByteArrayOutputStream EasyExcel.write(baos, Sell.class) .sheet(“列表”) .doWrite(sellList); // 获取Excel字节数组 byte\[\] excelBytes baos.toByteArray();// 设置响应头 response.setContentType(application/vnd.openxmlformats-officedocument.spreadsheetml.sheet); response.setCharacterEncoding(utf-8); String fileName URLEncoder.encode(列表导出\_Sell, UTF-8).replaceAll(\\, %20); response.setHeader(Content-Disposition, attachment;filename\*utf-8 fileName .xlsx); response.setHeader(Cache-Control, max-age0); response.setContentLength(excelBytes.length); // 设置Content-Length// 将Excel字节数组写入响应 try (OutputStream out response.getOutputStream()) {out.write(excelBytes);out.flush(); }} catch (IOException e) { e.printStackTrace(); } 方案2遮罩层 html代码 正在导出中... css .loading-mask { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 9999; display: flex; justify-content: center; align-items: center; } .loading-content { text-align: center; color: #fff; } .spinner { border: 8px solid rgba(255, 255, 255, 0.3); border-top: 8px solid #fff; border-radius: 50%; width: 60px; height: 60px; animation: spin 1s linear infinite; margin: 0 auto 20px; } keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } button:disabled { opacity: 0.6; cursor: not-allowed; } js代码阻止了有遮罩层时用户仍然可以通过键盘或其他方式触发多次点击 $(document).ready(function () { // 确保DOM加载完成后执行 $(‘#export_btn’).on(‘click’, function (e) { e.preventDefault(); // 阻止默认表单提交行为 var $exportBtn $(this);// 禁用导出按钮防止重复点击$exportBtn.prop(disabled, true);// 显示遮罩层$(#loadingMask).show();// 获取表单数据并构建FormData对象var formData $(#searchForm).serializeArray();var form new FormData();$.each(formData, function () {form.append(this.name, this.value);});// 添加额外的参数form.append(publishFrom, ${RequestParameters.type});// 创建XHR对象var xhr new XMLHttpRequest();xhr.open(POST, 路径/exportData, true);xhr.responseType blob; // 设置响应类型为blob// 监听下载完成后处理xhr.onload function () {$(#loadingMask).hide(); // 隐藏遮罩层$exportBtn.prop(disabled, false); // 启用导出按钮if (xhr.status 200) {// 创建下载链接并触发下载var blob xhr.response;var downloadUrl URL.createObjectURL(blob);var a document.createElement(a);a.href downloadUrl;// 从响应头中获取文件名var disposition xhr.getResponseHeader(Content-Disposition);var fileName 下载文件.xlsx;if (disposition disposition.indexOf(filename\*utf-8) ! -1) { // 修改修正单引号字符var filenameRegex /filename\*utf-8(.)/;var matches filenameRegex.exec(disposition);if (matches ! null matches\[1\]) {fileName decodeURIComponent(matches\[1\]);}}a.download fileName;document.body.appendChild(a);a.click();document.body.removeChild(a);URL.revokeObjectURL(downloadUrl);} else {alert(下载失败请重试。);}};// 监听网络错误xhr.onerror function () {$(#loadingMask).hide(); // 隐藏遮罩层$exportBtn.prop(disabled, false); // 启用导出按钮alert(网络错误请检查您的连接。);};xhr.send(form); });}); 后端代码和方案1一致
http://www.dnsts.com.cn/news/263105.html

相关文章:

  • 做网站备案需要多长时间郑州网站建设公司 艾特
  • 郑州便宜网站建设费用wordpress模板主题介绍
  • 网络规划师多少分合格seo关键词排名优化工具
  • 网站建设用什么软件dedecms大气金融企业网站模板免费下载
  • 建设厅网站沙场限期通知书专题类网站
  • 南京建设局的网站首页wordpress 后台突然变英文
  • 龙岗爱联有学网站建设给我免费观看片在线
  • 网站做蜘蛛池有用吗深圳华维网站建设
  • 上城网站建设平面设计公司调研报告
  • 网站建设的三网合一瑞金网络推广
  • WordPress众筹网站主题网站首页psd格式怎么做
  • 网站开发项目需求方案长沙建网站的公司一对一定制方案
  • 建设一个外贸网站多少钱个人建站除了wordpress
  • 上海工商网站官网wordpress cms怎么登陆界面
  • 珠宝网站源码免费下载企业注册号怎么查询
  • 网站推广软文案例一个人在线观看免费社区
  • 个人网页设计论文正文seo站长
  • 个人网站命名的要求天水地区建网站
  • 动漫视频网站开发网站推荐
  • 做网站教学书wordpress技术服务
  • 公司网站英文网站开发新加坡
  • 互动科技 网站建设做外贸都做哪些网站好免费
  • 假网站连接怎么做的深圳市作网站的公司
  • 佛山市南海区建设局网站温州seo优化
  • 网站制作手机模板网页前端开发框架
  • 临海网站开发公司网页版word编辑器
  • 河南城乡住房和建设厅网站什么是网页布局
  • wordpress 2019主题app优化推广
  • 贵州省网站备案电子商务网站规划设计方案
  • 佛山建设局网站成都市微信网站建