js下载

下载用ajax很差使,得用表单提交的方式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();//提交,执行下载
		}
相关文章
相关标签/搜索