当前位置:首页 > 开发 > Web前端 > 前端 > 正文

如何用post请求让浏览器下载文件

发表于: 2014-04-17   作者:darrenzhu   来源:转载   浏览次数:
摘要: 方法1. 动态构造一个html Form表单元素,将参数隐藏在表单中通过post传过去 var data = tableElement.data; var columns = tableElement.columns; var groupColumns = tableElement.groupColumns; var url = 'servlet/exportMovemen

方法1. 动态构造一个html Form表单元素,将参数隐藏在表单中通过post传过去

var data = tableElement.data;
var columns = tableElement.columns;
var groupColumns = tableElement.groupColumns;

var url = 'servlet/exportMovementReport.do';
var name = 'download';
var keys = ['data', 'columns', 'groupColumns'];
var values = [Ext.encode(data), Ext.encode(columns), Ext.encode(groupColumns)];

var html = "";
html += "<html><head></head><body><form id='formId' name='formName' method='post' action='"
		+ url + "'>";
if (keys && values && (keys.length == values.length)) {
	for (var i = 0; i < keys.length; i++) {
		html += "<input type='hidden' name='" + keys[i] + "' value='"
				+ values[i] + "'/>";
	}
}
html += "</form><script type='text/javascript'>document.getElementById(\"formId\").submit()</script></body></html>";
window.open('#', name).document.write(html);



方法2. 先在服务器端生成文件, 这样你就面临一个如何清除这些文件的问题
http://www.sencha.com/forum/showthread.php?81897-FYI-Very-simple-approach-to-JS-triggered-file-downloads

http://stackoverflow.com/questions/3499597/javascript-jquery-to-download-file-via-post-with-json-data


http://www.sencha.com/forum/showthread.php?153253-How-to-download-a-file-using-Ext.Ajax-using-a-POST-call

其他参考:
用window.location.href=''方法打开页面下载打印数据
http://yuzhijia88-126-com.iteye.com/blog/747142

如何用post请求让浏览器下载文件

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
写在前面的话: XMLHttpRequest对象的open方法的第一个参数为request-type,取值可以为get或post.本篇
写在前面的话: XMLHttpRequest对象的open方法的第一个参数为request-type,取值可以为get或post.本篇
写在前面的话: XMLHttpRequest对象的open方法的第一个参数为request-type,取值可以为get或post.本篇
在某些情况下,需要用Java applicatioin来模拟form,向服务器(本文以servlet为例)发送http post请求
在某些情况下,需要用Java applicatioin来模拟form,向服务器(本文以servlet为例)发送http post请求
Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍常用的两种网络请求方
一、关于返回值传递 js中的post请求 $.post(url, to_post_data, function(data){ alert(data); if(da
POST请求的forHTTPHeaderField 也许你的iOS项目中使用了AFNetworking2.0,或者是ASIHTTPRequest,对于
1. Get方法长度限制 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限
第一种情况 webservice端代码 @Path("/DoSearch") public class DoSearchWebService { @Context Uri
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号