Jquery Ajax позвони с Джанго - PullRequest
0 голосов
/ 29 июня 2010

Я немного застрял в следующей ситуации:

Я использую 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 ....

Надеюсь услышать от вас, ребята

1 Ответ

3 голосов
/ 29 июня 2010

Похоже, это не должен быть запрос Ajax - если вы просто отправите эту форму POST, тогда пользователь перейдет по ссылке csv и будет предложено загрузить файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...