1

我有一个应用程序,其中有以 Word/PDF 格式导出文档的选项。我们进行表单提交以发布 HTML 并将其发送到服务器进行转换。在后端,servlet 在设置 contentType 后将其写回客户端。信息栏仅在第一次下载时出现。

我不能建议用户降低他们的浏览器安全级别。因此我需要一个解决方案来绕过这个警报。我看到 Google Docs 已经处理了这个问题。有谁知道需要做什么?

4

1 回答 1

0

我正在使用以下 JQuery 代码:

$.download = function(url, data, method){
    //url and data options required
    if( url && data ){ 
        //data can be string of parameters or array/object
        data = typeof data == 'string' ? data : $.param(data);
        //split params into form inputs
        var inputs = '';
        $.each(data.split('&'), function(){ 
            var pair = this.split('=');
            inputs+='<input type="hidden" name="'+ pair[0] +'" value="'+ pair[1] +'" />'; 
        });
        //send request
        $('<form action="'+ url +'" method="'+ (method||'post') +'">'+inputs+'</form>')
        .appendTo('body').submit().remove();
    };
};

每次应该启动下载时,我都会开火

$.download(options);

服务器响应带有正确的内容类型标头(例如 Word)。

也许您忘记了从 DOM 中删除提交的表单?

于 2011-05-02T10:22:11.223 回答