1

是否可以将文件作为 ajax 调用的响应输出?我编写了一个使用 ajax 调用输出 zip 文件的函数,代码如下:

<script type="text/javascript">

    $(document).ready(function () {

        $(".ziplink").click(function (e) {
            e.preventDefault();
            var url = $(this).attr('href');
            var spinner = $(this).parent().children(".spinnerbox");
            spinner.show();
            $.ajax({
                url:url,
                type:"GET",
                dataType:"application/x-zip-compressed",
                success:function (data) {
                    console.log('success');
                    spinner.hide();

                },
                error:function () {
                    console.log('ko');
                    spinner.hide();
                }

            });
        });

    });
</script> 

现在,从萤火虫控制台一切正常,但我没有文件输出。缺什么?

虽然这在非 ajax 方式中具有完整的功能(一个简单的操作链接),但我希望在服务器处理请求时有微调器动画。

谢谢 - 卢克

4

1 回答 1

1
$(".ziplink").click(function (e) {

    e.preventDefault();
    var _self = $(this);
    $('.spinner').show();

    $.ajax({
        type : 'HEAD',
        url : _self.attr('href'),
        complete : function(){

            $('.spinner').hide();
            var _tmp = $('<iframe />')
                .attr('src', _self.attr('href'))
                .hide()
                .appendTo(_self)
                setTimeout(function(){
                    _tmp.remove();
                },5000);

        }

    });

});

Demo http://jsfiddle.net/4sMsr/3/

于 2012-11-02T23:43:05.123 回答