dojo.io.iframe и загрузка Excel / PDF - PullRequest
       4

dojo.io.iframe и загрузка Excel / PDF

1 голос
/ 31 декабря 2010

Я бы хотел использовать кнопку Dojo для загрузки файла Excel или PDF. До сих пор мне удавалось сделать это с помощью вызова dojo.io.iframe в обработчике onClick кнопки. Тем не менее, это будет загрузить файл только один раз. Все последующие вызовы будут игнорироваться.

Это звонок:

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

Как будто dojo.io.iframe не считает предыдущий запрос выполненным.

Что я делаю не так?

1 Ответ

7 голосов
/ 06 января 2011

Если вы используете dojo.io.iframe.send, то ответ должен быть в определенном формате, чтобы сообщить dojo, что запрос завершен. Ответ должен быть заключен в элемент <textarea> документа HTML. Как и в вашем случае, ответ представляет собой двоичный поток, поэтому dojo не знал, завершен ли запрос. Если вы не указали timeout, додзё будет ждать вечно.

Для достижения поставленной задачи вы можете использовать следующий подход:

var downloadPdfIframeName = "downloadPdfIframe"; 
var iframe = dojo.io.iframe.create(downloadPdfIframeName);
dojo.io.iframe.setSrc(iframe, url, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...