На базе данных есть таблица, для которой необходимо организовать экспорт в csv формат.
На сайте была создана кнопка, к которой была привязана данная функция js:
function export_csv() {
$.ajax({
url: '/prepare_csv',
method: 'post',
dataType: 'html',
success: function() {
window.open('static/temp/out.csv', '_blank');
}
});
}
Буквально, на сервер отправляется запрос, функция готовит . csv файл и кладет его в папку /static/temp, когда запрос на сервер успешно выполнен, всплывающим окном открывается и скачивается полученный файл. Но проблема заключается в том, что браузеры сохраняют этот файл в кэш, и в последствии при наличии изменений в бд и в файле, идущем на экспорт, продолжает скачиваться старая версия файла. Новая начинает скачиваться только в случае, если вручную почистить кэш браузера. К тому же, IE автоматически блокирует всплывающие окна.