文档章节

js发送post请求下载文件

独钓渔
 独钓渔
发布于 2017/09/12 12:54
字数 223
阅读 87
收藏 0

大家都知道ajax是不能直接下载文件的,所以一般都是通过一个超链接的形式去下载一个文件

但是当牵扯到需要发送很多数据到服务器上再下载的时候超链接的形式就有些太过勉强了

如下是一个工具方法(依赖jquery) 可以通过发送多数据的情况下下载文件,代码如下:

 

/*===================下载文件
 * options:{
 * url:'',  //下载地址
 * data:{name:value}, //要发送的数据
 * method:'post'
 * }
 */
var DownLoadFile = function (options) {
    var config = $.extend(true, { method: 'post' }, options);
    var $iframe = $('<iframe id="down-file-iframe" />');
    var $form = $('<form target="down-file-iframe" method="' + config.method + '" />');
    $form.attr('action', config.url);
    for (var key in config.data) {
        $form.append('<input type="hidden" name="' + key + '" value="' + config.data[key] + '" />');
    }
    $iframe.append($form);
    $(document.body).append($iframe);
    $form[0].submit();
    $iframe.remove();
}

 

很简单的,传如url和数据就可以啦 

demo: DownLoad({

url:'http://www.baidu.com.....', //请求的url

data:{sc:'xxx'}//要发送的数据

});

 

本文转载自:http://www.cnblogs.com/xiexingen/p/4560547.html

共有 人打赏支持
独钓渔
粉丝 47
博文 375
码字总数 142587
作品 0
沙坪坝
系统管理员
私信 提问
[swift]-使用JavaScript解决WKWebView无法发送POST参数问题

基本实现思路: 1. 将一个包含JavaScript的POST请求的HTML代码放到工程目录中2. 加载这个包含JavaScript的POST请求的代码到WKWebView3. 加载完成之后,用Native调用JavaScript的POST方法并传入...

xiaoLoo
07/10
0
0
针对使用Github作为C&C服务的JavaScript后门分析

  最近,在做恶意软的件检测时我们发现了一个LNK文件。该文件利用Github作为其C&C服务器,并使用了一个新的基于JavaScript的Bot,来在系统上执行恶意活动。   ZIP文件的MD5哈希值:f444b...

FreeBuf
06/16
0
0
iOS--React Native网络请求插件

一:介绍 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS和安卓两大平台。RN使用...

展菲
前天
0
0
从输入一个新的网址到用户完全看到页面,这期间浏览器做了哪些工作?

输入网址后浏览器是先读取缓存文件夹还是先连接服务器? ..... 其实我个人觉得他问这个题重点是考浏览器缓存机制,资源下载序,css渲染与js执行顺序. 这个问题其实听起来是个非常基础的题目,但...

chape
2013/11/19
0
0
AJAX基础之JavaScript基础与增强(二)

一,Ajax究竟是个什么东西 用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验。 简单一句话 不刷新页面与服务器通讯的技术 在Ajax之前,Web站点强制用户进入提交/等待/重新显示...

architect刘源源
05/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
11
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
9
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
8
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部