Я немного застрял в следующей ситуации:
Я использую ajax-вызов для отправки формы, я использую значения формы для выполнения некоторого 'запроса' в django.Когда это произошло, и я получил правильный набор запросов, он дает мне HttP-ответ в виде CSV.Я установил заголовки и все, что нужно для получения окна «сохранить файл как» ... к сожалению, этого не происходит, потому что вызов ajax помещает ответ в div.
Это код:
if (vsc=='True'){
ajax_loader();
// add pdf, csv $.ajax (todo)
$.ajax({
type: "POST",
url: "./test",
dataType: 'text',
success: test,
data: {host: ho, log: lo, severity: se, datetimestart: dts, datetimeend: dte, enabled: ena, csv: vsc, pdf: fdp}
});
Так что внутри этой функции ajax вызовите URL. / Test.Внутри этого URL я делаю некоторую фильтрацию объектов и создаю объект ответа http и отправляю его обратно.В случае успеха я хотел бы получить «сохранить файл как», но в данный момент я понятия не имею, как это сделать.Мне удалось показать ответ в div на моей html-странице ./test, но «сохранить файл как» никогда не появляется.
Мое представление django:
def export_csv(request,queryset)
# do some filtering on queryset and create a csv
response = HttpResponse(''.join(csv_export), mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=customreportexport.csv'
return response
Это мое мнениевсе должно быть нормально, я думаю, что это на самом деле вызов ajax ... на «успех», я должен сделать что-то, так что он появляется как «сохранить файл как», только я не знаю, как.Я уже попробовал несколько iframe, но чем я должен дать «источник» в качестве URL-адреса, и это невозможно, так как вызов ajax отправляет сообщение о параметрах и т. Д.Раньше я знал, что на каком-то языке есть что-то под названием «IsUpload = true», очень жаль, что это не в jquery ajax ....
Надеюсь услышать от вас, ребята