封装jQuery下载文件组件

使用jQuery导出文档文件

jQuery添加download组件

jQuery.download = function(url, data, method){
    if( url && data ){
        data = typeof data == 'string' ? data : paramEdit(data);
     function
paramEdit(obj){
        var temStr = "",tempStr="";
        for(var i in obj){
            temStr += i+'='+obj[i]+'&';
          )
        tempStr=temStr.sunstring(0,temStr.lastIndexOf('&'));
        return tempStr;
      }
  var inputs = ''; 
  jQuery.each(data.split(
'&'), function(i,el){ var pair = this.split('='); inputs+='<input type="hidden" name="'+ pair[0] +'"value="'+ pair[1] +'" />';}); jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>').appendTo('body').submit().remove();     };   };

js方法调用

$.download("接口",{name:name},"POST");

此处后台不需要处理接收的参数;

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果download是用jQuery.param(data)进行序列化data,就需要后台转码代码如下,(不推荐使用)

后台接参数据,如果有中文的地方,需要对参数进行转换(原因:jQuery.param(data),转换拼接会使中文乱码);

后台Java转换代码:

name=URLDecoder.decode(name;"utf-8")
原文地址:https://www.cnblogs.com/lengyue0030/p/7422081.html