У меня есть форма с различными текстовыми полями и двумя кнопками - Экспорт в Excel и Экспорт в CSV.
Пользователь может ввести значения в различные поля формы и щелкнуть одну из кнопок.
Ожидаемое поведение: запрос Ajax должен запускаться со значениями полей в качестве параметров, а выбранный файл (Excel / CSV согласно нажатию кнопки) должен быть загружен (я не отправляю форму, поскольку это необходимо сделать). некоторая обработка значений перед отправкой).
Я использовал следующий код в функции успеха Ajax-запроса для загрузки:
result = Ext.decode(response.responseText);
try {
Ext.destroy(Ext.get('testIframe'));
}
catch(e) {}
Ext.core.DomHelper.append(document.body, {
tag: 'iframe',
id:'testIframe',
css: 'display:none;visibility:hidden;height:0px;',
src: result.filename,
frameBorder: 0,
width: 0,
height: 0
});
Приведенный выше код прекрасно работал в том случае, если файл был создан физически на сервере. Но в моем текущем проекте файл не создается на сервере, а содержимое просто передается в браузер с соответствующими заголовками.
Таким образом, есть ли способ загрузить файл, используя Ajax, когда файл физически отсутствует на сервере? Просто добавлю, что у меня есть длинный список параметров, которые мне нужно отправить на сервер, и, следовательно, я не могу добавить их все в src iframe.
Может ли кто-нибудь руководить этим?
Спасибо за любую помощь заранее.