js下载

下载用ajax不好使,得用表单提交的方式

download:function(url,paramObj){
			var doc = document;
			//使用一个隐藏的form表单执行提交,没有则创建
			var downloadForm = doc.getElementById('_downloadForm');
			if(!downloadForm){
				
				downloadForm = doc.createElement('form');
				downloadForm.id = '_downloadForm';
				
				doc.body.appendChild(downloadForm);//必须加入body中,否则可能不下载
			}
			
			downloadForm.method = 'post';
			downloadForm.action = url;
			downloadForm.style.display='none';//隐藏
			downloadForm.target='_blank';
			
			//移除之前表单内的所有域
			while(downloadForm.hasChildNodes()){
				downloadForm.removeChild(downloadForm.firstChild);
		    }
			
			//根据传入的参数,创建表单隐藏域
			if(paramObj != null){
				var hidden;
				for(var key in paramObj){ 
			        if(paramObj[key]==null || paramObj[key] == undefined){
			        	continue;
			        }
					
					hidden = doc.createElement('input');
					hidden.type='hidden';
					hidden.name = key;
					hidden.value = paramObj[key];
					
					downloadForm.appendChild(hidden);
					
			     } 
			}
			downloadForm.submit();//提交,执行下载
		}

  

原文地址:https://www.cnblogs.com/webskill/p/6530999.html