最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - dojo.io.iframe and download of ExcelPDF - Stack Overflow

programmeradmin0浏览0评论

I would like to use a Dojo button to download an Excel or a PDF file. So far I've managed to do it by using a call to dojo.io.iframe in the onClick handler of the button. However, this will only download the file once. Any successive calls will be ignored.

This is the call:

function exportToExcel() {
    dojo.io.iframe.send({
        url: '/report/export',
        handleAs: 'xml',
        content: {
            __export: 'excel'
        }
    });
}

As if the dojo.io.iframe does not consider the previous request to be pleted.

What am I doing wrong?

I would like to use a Dojo button to download an Excel or a PDF file. So far I've managed to do it by using a call to dojo.io.iframe in the onClick handler of the button. However, this will only download the file once. Any successive calls will be ignored.

This is the call:

function exportToExcel() {
    dojo.io.iframe.send({
        url: '/report/export',
        handleAs: 'xml',
        content: {
            __export: 'excel'
        }
    });
}

As if the dojo.io.iframe does not consider the previous request to be pleted.

What am I doing wrong?

Share Improve this question asked Dec 31, 2010 at 14:17 AriodAriod 5,85122 gold badges77 silver badges104 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 7

If you use dojo.io.iframe.send, then the response should be in certain format to tell dojo that the request is pleted. The response should be wrapped in the <textarea> element of a HTML document. As in your case, the response is a binary stream, so dojo didn't know whether the request is pleted. If you didn't specify a timeout, dojo will wait forever.

To achieve the task, you can use following approach:

var downloadPdfIframeName = "downloadPdfIframe"; 
var iframe = dojo.io.iframe.create(downloadPdfIframeName);
dojo.io.iframe.setSrc(iframe, url, true);
发布评论

评论列表(0)

  1. 暂无评论