ajax isUpload (Jquery) - PullRequest
       11

ajax isUpload (Jquery)

0 голосов
/ 16 апреля 2010

Некоторое время назад я был занят ExtJS и ajax. У меня есть некоторые данные в формате CSV, которые я возвращаю. С ExtJS вы можете использовать опцию isUpload, чтобы открыть файл «filename.csv», где вы можете нажать «Сохранить / открыть» и т. Д. Теперь я перемещаю все ExtJS в Jquery, и я не вижу что-то, что обрабатывает это в Jquery, я не думаю, что есть вариант isUpload в ajax с jquery? Кто-нибудь знает, как это исправить?

Заранее спасибо

Дополнительная информация:

def export(object):
    object = object.order_by('hostname', 'dev_reported_time')
    export = ['test;blub;again;more\n', ]
    for i in object:
        export.append('%s;%s;%s;%s\n' % (i.test, i.blub, i.again, i.more))
    response = HttpResponse(''.join(export), mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename=report.csv'
    return response

Эта функция вызывается при установке флажка. Содержимое в формате CSV создается с заголовком. У меня была эта работа с ExtJS опцией isUpload, она заставляла браузер загружать файл csv. Теперь я больше не хочу использовать ExtJS, я предпочитаю Jquery или что-то еще. Так как же загрузить этот CSV? Когда в этот момент я устанавливаю флажок, я вижу, что контент отображается в формате csv ... поэтому функция работает, но, похоже, браузер не загружает файл csv вместо того, чтобы показывать его внутри содержимого.

Осторожно, с содержимым, которое я имею в виду, результат отображается внутри div

Ответы [ 2 ]

0 голосов
/ 16 апреля 2010

def export (object):
object = object.order_by ('hostname', 'dev_reported_time')
export = ['test; blub; еще раз; еще \ n',]
для я в объекте:
export.append ('% s;% s;% s;% s \ n'% (i.test, i.blub, i.again, i.more))
response = HttpResponse (''. join (экспорт), mimetype = 'text / csv')
response ['Content-Disposition'] = 'attachment; имя файла = report.csv»
обратный ответ

= +> это функция, которая вызывается при установке флажка. Содержимое в формате CSV создается с заголовком. У меня была эта работа с ExtJS опцией isUpload, она заставляла браузер загружать файл csv. Теперь я больше не хочу использовать ExtJS, я предпочитаю Jquery или что-то еще. Так как же загрузить этот CSV? Когда в этот момент я устанавливаю флажок, я вижу, что содержимое отображается в формате csv ... поэтому функция работает, но, похоже, браузер не заставляет загружать файл csv вместо того, чтобы показывать его внутри содержимого. *

Осторожно, с содержимым, которое я имею в виду, результат отображается внутри div

0 голосов
/ 16 апреля 2010

Нет встроенной функции, встроенной в библиотеку jQuery, которая позволяет вам отправлять формы, содержащие поля файла, через ajax Вы можете взглянуть на плагин jQuery form . Вот пример:

<form id="uploadForm" action="/script" method="POST" enctype="multipart/form-data"> 
    File: <input type="file" name="file" /> 
    <input type="submit" value="Submit" /> 
</form>

<script type="text/javascript">
$(function() {
    $('#uploadForm').ajaxForm(function() {
        alert('form successfully submited');
    });
});
</script>

Он автоматически распознает наличие файлового поля и создает скрытый iframe, позволяющий загружать данные.

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