$.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. tensorflow feeddict问题unhashable type: 'numpy.ndarray'

    https://stackoverflow.com/a/49134587 求argmax.加newaxis.转变data类型时尽量用tf自带的函数: tf.argmax.[tf.newaxis, :] ...

  2. Difference between C# compiler version and language version

    Difference between C# compiler version and language version     As nobody gives a good enough answer ...

  3. mongodb的更新操作符

    mongodb更新有两个命令:1).update()命令 db.collection.update( criteria, objNew, upsert, multi ) criteria : upda ...

  4. C++ STL——set和multiset

    目录 一 set和multiset 二 对组pair 注:原创不易,转载请务必注明原作者和出处,感谢支持! 注:内容来自某培训课程,不一定完全正确! 一 set和multiset set和multis ...

  5. 在业务控制方法中写入User,Admin多个模型收集参数

    1)  可以在业务控制方法中书写1个模型来收集客户端的参数 2)  模型中的属性名必须和客户端参数名一一对应 3)  这里说的模型不是Model对象,Model是向视图中封装的数据 @Controll ...

  6. 一百零八:CMS系统之封装权限判断功能

    在用户模型下定义属性和方法,用于判断用户的权限 @propertydef permissions(self): """ 返回用户拥有的所有权限 ""& ...

  7. Python自定义线程类简单示例

    Python自定义线程类简单示例 这篇文章主要介绍了Python自定义线程类,结合简单实例形式分析Python线程的定义与调用相关操作技巧,需要的朋友可以参考下.具体如下: 一. 代码     # - ...

  8. React Native使用Redux总结

    1>npm安装redux: "react-redux": "^5.0.5", "redux": "^3.7.1", ...

  9. 全部二进制脚本高可用--只有docker启动未成功

    [root@test1 script]# cat k8s-docker-binary-py #!/usr/bin/python # -*- coding: utf-8 -*- from __futur ...

  10. JAVA 面向对象编程 --自我总结

    子系统 系统结构是指由系统多个子系统组成,以及子系统由多个更小的子系统组成的结构.那么子系统又具备哪些特点呢? 特点: 1.结构的稳定性 :软件在设计阶段,在把一个系统划分成更小的子系统时,设计合理, ...