$.fileDownload(url, {
httpMethod: 'GET',
data: null,

prepareCallback: function (url) {
layer.msg("文件下载中...", { time: 2000 });
},
abortCallback: function (url) {

layer.msg("文件下载异常!!", { time: 2000 });

},
successCallback: function (url) {
layer.msg("文件下载成功!!",{ time: 2000 });

},
failCallback: function (html, url) {
layer.msg("文件下载失败!!", { time: 2000 });

}

});

Java后端代码

response.setHeader("Set-Cookie", "fileDownload=true; path=/");

c# 后台代码  HttpContext.Response.SetCookie(new System.Web.HttpCookie("Set-Cookie", "fileDownload=true; path=/"));

————————————————
版权声明:本文为CSDN博主「lingmen2000」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_37998428/article/details/85161267

    (function (e, t) { var n = /[<>&\r\n"']/gm; var r = { "<": "lt;", ">": "gt;", "&": "amp;", "\r": "#;", "\n": "#;", '"': "quot;", "'": "apos;" }; e.extend({ fileDownload: function (i, s) { function E() { if (document.cookie.indexOf(o.cookieName + "=" + o.cookieValue) != -1) { d.onSuccess(i); document.cookie = o.cookieName + "=; expires=" + (new Date(1e3)).toUTCString() + "; path=" + o.cookiePath; x(false); return } if (m || v) { try { var t = m ? m.document : S(v); if (t && t.body != null && t.body.innerHTML.length) { var n = true; if (y && y.length) { var r = e(t.body).contents().first(); if (r.length && r[0] === y[0]) { n = false } } if (n) { d.onFail(t.body.innerHTML, i); x(true); return } } } catch (s) { d.onFail("", i); x(true); return } } setTimeout(E, o.checkInterval) } function S(e) { var t = e[0].contentWindow || e[0].contentDocument; if (t.document) { t = t.document } return t } function x(e) { setTimeout(function () { if (m) { if (l) { m.close() } if (f) { if (m.focus) { m.focus(); if (e) { m.close() } } } } }, 0) } function T(e) { return e.replace(n, function (e) { return "&" + r[e] }) } var o = e.extend({ preparingMessageHtml: null, failMessageHtml: null, androidPostUnsupportedMessageHtml: "Unfortunately your Android browser doesn't support this type of file download. Please try again with a different browser.", dialogOptions: { modal: true }, prepareCallback: function (e) { }, successCallback: function (e) { }, failCallback: function (e, t) { }, httpMethod: "GET", data: null, checkInterval: 100, cookieName: "fileDownload", cookieValue: "true", cookiePath: "/", popupWindowTitle: "Initiating file download...", encodeHTMLEntities: true }, s); var u = new e.Deferred; var a = (navigator.userAgent || navigator.vendor || t.opera).toLowerCase(); var f; var l; var c; if (/ip(ad|hone|od)/.test(a)) { f = true } else if (a.indexOf("android") !== -1) { l = true } else { c = /avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|playbook|silk|iemobile|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4)) } var h = o.httpMethod.toUpperCase(); if (l && h !== "GET") { if (e().dialog) { e("<div>").html(o.androidPostUnsupportedMessageHtml).dialog(o.dialogOptions) } else { alert(o.androidPostUnsupportedMessageHtml) } return u.reject() } var p = null; var d = { onPrepare: function (t) { if (o.preparingMessageHtml) { p = e("<div>").html(o.preparingMessageHtml).dialog(o.dialogOptions) } else if (o.prepareCallback) { o.prepareCallback(t) } }, onSuccess: function (e) { if (p) { p.dialog("close") } o.successCallback(e); u.resolve(e) }, onFail: function (t, n) { if (p) { p.dialog("close") } if (o.failMessageHtml) { e("<div>").html(o.failMessageHtml).dialog(o.dialogOptions) } o.failCallback(t, n); u.reject(t, n) } }; d.onPrepare(i); if (o.data !== null && typeof o.data !== "string") { o.data = e.param(o.data) } var v, m, g, y; if (h === "GET") { if (o.data !== null) { var b = i.indexOf("?"); if (b !== -1) { if (i.substring(i.length - 1) !== "&") { i = i + "&" } } else { i = i + "?" } i = i + o.data } if (f || l) { m = t.open(i); m.document.title = o.popupWindowTitle; t.focus() } else if (c) { t.location(i) } else { v = e("<iframe>").hide().prop("src", i).appendTo("body") } } else { var w = ""; if (o.data !== null) { e.each(o.data.replace(/\+/g, " ").split("&"), function () { var e = this.split("="); var t = o.encodeHTMLEntities ? T(decodeURIComponent(e[0])) : decodeURIComponent(e[0]); if (t) { var n = o.encodeHTMLEntities ? T(decodeURIComponent(e[1])) : decodeURIComponent(e[1]); w += '<input type="hidden" name="' + t + '" value="' + n + '" />' } }) } if (c) { y = e("<form>").appendTo("body"); y.hide().prop("method", o.httpMethod).prop("action", i).html(w) } else { if (f) { m = t.open("about:blank"); m.document.title = o.popupWindowTitle; g = m.document; t.focus() } else { v = e("<iframe style='display: none' src='about:blank'></iframe>").appendTo("body"); g = S(v) } g.write("<html><head></head><body><form method='" + o.httpMethod + "' action='" + i + "'>" + w + "</form>" + o.popupWindowTitle + "</body></html>"); y = e(g).find("form") } y.submit() } setTimeout(E, o.checkInterval); return u.promise() } }) })(jQuery, this)

JS downLoad的更多相关文章

  1. 用js生成PDF的方案

    在java里,我们常用Itext来生成pdf,在pdf文件里组合图片,文字,画表格,画线等操作,还会遇到中文支持的问题. 那好,现在想直接在web前端就生成pdf怎么办,目前有以下几个解决方案 1:J ...

  2. 在 Ubuntu 14.04/15.04 上配置 Node JS v4.0.0

    大家好,Node.JS 4.0 发布了,这个流行的服务器端 JS 平台合并了 Node.js 和 io.js 的代码,4.0 版就是这两个项目结合的产物——现在合并为一个代码库.这次最主要的变化是 N ...

  3. Getting Started with Mongoose and Node.js – A Sample Comments System | Dev Notes

    In this post, we’re going to be creating a sample comments system using Node, Express and Mongoose.  ...

  4. 用 Stellar.js 制作视差滚动效果

    参考 http://doc.bropaul.com/Stellar.js/docs/ https://github.com/markdalgleish/stellar.js#download http ...

  5. Node.js+Web TWAIN,实现Web文档扫描和图像上传

      目录(?)[+] 通过Dynamic Web TWAIN SDK和Node.js的组合,只需要几行代码就可以实现在浏览器中控制扫描仪,获取图像后上传到远程服务器. 原文:Document Imag ...

  6. jquery autocomplete实现读取sql数据库自动补全TextBox

    转自我本良人 原文 jquery autocomplete实现读取sql数据库自动补全TextBox 项目需要这样子一个功能,其他部门提的意见,只好去实现了哦,搞了好久才弄出来,分享一下. 1.前台页 ...

  7. ionic cordova plugin simple demo

    要用cordova plugin 的话还是需要设置一下的 1. 下载 ng-cordova.js download the zip file here 2. 在index.html 中引用 (cord ...

  8. 如何设置Grunt

    原文地址: Step 1: Install Node.js Download a Node installer and run it. Installation packages are availa ...

  9. web学习测试环境

    ref:https://www.owasp.org/index.php/OWASP_Vulnerable_Web_Applications_Directory_Project/Pages/Offlin ...

随机推荐

  1. SpringMVC支持跨域请求

    一.如果项目中使用的SpringMVC4.3.9以下,就需要对该请求配置Filter,设置请求头可支持跨域.使用方法: --spring cloud zuul支持跨域---:https://blog. ...

  2. 【转】Qt编写串口通信程序全程图文讲解

    本文章原创于www.yafeilinux.com 转载请注明出处. (说明:我们的编程环境是windows xp下,在Qt Creator中进行,如果在Linux下或直接用源码编写,程序稍有不同,请自 ...

  3. antd源码分析之——折叠面板(collapse)

    官方文档 https://ant.design/components/collapse-cn/ 目录 一.antd中的collapse 代码目录 1.组件结构图(♦♦♦重要) 2.源码节选:antd/ ...

  4. DataSet转换为实体类

    /// <summary> /// DataSet转换为实体类 /// </summary> /// <typeparam name="T">实 ...

  5. 如何使用git send-email发送补丁?

    答: git send-email <patch-name> --to <username>@<example>.com --cc <username> ...

  6. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-5.HttpClient4.x工具获取使用

    笔记 5.HttpClient4.x工具获取使用     简介:讲解httpClient4.x相关依赖,并封装基本方法. 1.加入依赖         <dependency>       ...

  7. Nginx教程[归档]

    前言 其一,Nginx不是随随便便一篇博文就能讲清楚的,严谨地说,笔者连入门者都算不上:其二,此文系前段日子里,学习Nginx时的笔记归档类博文,还有诸多不完整处,仅供参考. 写这篇博文的时间点:20 ...

  8. AFNetworking网址中有中文崩溃的问题

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSe ...

  9. 【AMAD】django-cities -- 为Django项目提供国家,城市数据

    动机 简介 个人评分 动机 有时候看一些数据库设计,国家数据会存在一个单独的表里面.这种方式读取数据库无疑又要加上一层join,很不划算. 简介 [django-cities]1可用为你提供国家和城市 ...

  10. Nginx反向代理,Nginx的TCP/UDP调度器以及Nginx常见问题处理

    nginx反向代理: 方案 使用4台RHEL7虚拟机,其中一台作为Nginx代理服务器,该服务器需要配置两块网卡,IP地址分别为192.168.4.5和192.168.2.5,两台Web服务器IP地址 ...