// Ajax 파일 다운로드
jQuery.download = function(url, data, method){
    // url
data를 입력받음
    if( url && data ){
        // data
  string 또는 array/object 를 파라미터로 받는다.
        data = typeof data == 'string' ? data : jQuery.param(data);
        //
파라미터를 form  input으로 만든다
.
        var inputs = '';
        jQuery.each(data.split('&'), function(){
            var pair = this.split('=');
            inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />';
        });
        // request
를 보낸다
.
        jQuery('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
        .appendTo('body').submit().remove();
    };
};

***
폼을 동적으로 그리고 submit한 후 폼을 remove한다.


실행예

$.download('testExcelDownload.do','find=commoncode','post' );

물런 data에 file명을 쓰는 현명한 행동을 하지 않길 바란다..

+ Recent posts