網頁無刷新下載文件

網頁無刷新下載文件,有三種方式。這裏只記錄一種,能達到效果就能夠了——利用操做DOM動態建立form表單,和在form表單中建立隱藏域的方式提交表單,進行無刷新下載。前端

    前端利用Jquery來進行對DOM操做。下面直接上代碼:java

       //下文excel文件 ,利用動態生成一個form表單的形式,下載
	$("#download").click(function(){
		var form=$('<form id="downloadForm">');//定義一個form表單
		form.attr("style","display:none");
		form.attr("target","");
		form.attr("method","post");
			
		var input=$("<input>");    //定義一個隱藏域,設置你要上傳的參數的name和value
		input.attr("type","hidden");
		input_yearMonth.attr("name","yearMonth");
		input_yearMonth.attr("value",_yearMonth);
		$("body").append(form);//將表單放置在web中
		form.append(input);
		
		form.submit();//表單提交 
		$("#downloadForm").remove();  //刪除表單,防止用戶屢次提交下載,不斷生成相同form代碼。
	});

    服務器端須要定義返回頭
web

response.reset();  
//解決Content-disposition filename中不能使用中文名的方法。filename 和 filename*來解決跨瀏覽器中文名問題
String filename = yearMonth + URLEncoder.encode("訂單數據詳情表("+barberName+")","UTF-8")+".xls";
response.setHeader("Content-disposition","attachment;filename="+filename+";filename*="+filename);  
response.setContentType("application/msexcel");  //我這裏是下載excel文件。

  就到這裏了。瀏覽器

PS:順便推廣下我正在使用javaWeb框架:Nutz,一個比SSH更好用的框架。http://www.nutzam.com/服務器

相關文章
相關標籤/搜索