エクスポートエクセルクッキーリスニング終了時点

前提

三者のライブラリを使用しJS-クッキーを

プロセス

  1. [エクスポート]ボタンは無効に設定されています。
  2. jsが10分にはクッキーを期限切れに追加します。
  3. jsがwindow.locationのコールバックエンド・インタフェース(ないバイトストリームアヤックス)を使用してExcelをエクスポートします。
  4. 削除クッキー、Excelのページへの出力の方法の流れ:Javaは、要求を処理します。
  5. ランごとに1秒を設定、タイミングタスクは、エクスポートボタンが有効に設定されている場合、クッキーが空である、JSの値のsetInterval jQueryの()クッキーを使用して監視、600時間(10分)を実行します。

コアコード

JavaScriptを

$("#export").click(function(){
       $(".mask").css("display","none");
       $(".exportdiv").css("display","none");
       var exportdata = document.getElementById("Searchinput").value;
       $("#btn5Search").trigger("click");
       
       // set cookie
       var inTenMinutes = new Date(new Date().getTime() + 10 * 60 * 1000); // cookie expire after 10 minutes
       Cookies.set('serviceExportStatus', '0', { path: '/', expires: inTenMinutes });
       // export request
       window.location="${ctx}/service/exportExcel.action?exportdata="+exportdata;
       // listening export finish
       var count = 0;
       var timer = setInterval(function(){
           count++;
           console.log("in timer" + count);
           if(count > 600 || Cookies.get('serviceExportStatus') == null){
               console.log("in finish export");
               $("#export").attr('disabled',false);
               $("#export").css('background','#000');
               clearInterval(timer);
           }
       },1000);
  });

Javaの:

Cookie cookie = new Cookie("serviceExportStatus", "1");
cookie.setMaxAge(0);
cookie.setPath("/");
response.addCookie(cookie);
公開された10元の記事 ウォンの賞賛0 ビュー119

おすすめ

転載: blog.csdn.net/m178643/article/details/103908654