js下载
阅读原文时间:2023年07月12日阅读:1

下载用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();//提交,执行下载  
    }

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章