ajax下post方式如何下载文件

using 隐藏的iframe来处理,不多说,直接上代码:

                        var DownLoadFile = function (options) {
                            var config = $.extend(true, { method: 'post' }, options);
                            var $iframe = $('<iframe id="down-file-iframe" />');
                            var $form = $('<form target="down-file-iframe" method="' + config.method + '" />');
                            $form.attr('action', config.url);
                            for (var key in config.data) {
                                $form.append('<input type="hidden" name="' + key + '" value="' + config.data[key] + '" />');
                            }
                            $iframe.append($form);
                            $(document.body).append($iframe);
                            $form[0].submit();
                            $iframe.remove();
                        }

                        $("#export_excel").click(function () {

                            var startDate = $("input[ name='startDate' ]").val();
                            var endDate = $("input[ name='endDate' ]").val();
                            DownLoadFile({
                                url: "{% url 'XXX_app:exportOrderXls' %} ", //请求的url
                                data: {
                                            'startDate': startDate,
                                            'endDate': endDate,
                                            'csrfmiddlewaretoken': '{{ csrf_token }}'
                                        }
                            });
                        });

猜你喜欢

转载自blog.csdn.net/laikaikai/article/details/81502019