Отправка файла изображения с помощью ajax / json, созданного с помощью jQuery - PullRequest
2 голосов
/ 20 января 2011

Есть ли способ отправки файла, загруженного через Ajax / json / jQuery?

есть ли вообще плагин? если я хочу представить другие данные, это просто:

$.ajax(
  {
       type: "POST",
       url: "http://www.test.php",
       dataType:"json",
       data: {serial: $('[name=txtLogin]').val()},  
       success: function(data)
       { 
            ... do some stuff ...               
       }          

    });

Но я предполагаю, что загрузка файлов - это отдельная история. Я хотел бы передать информацию из различных полей, таких как текстовые поля, радио и флажки, а также сам файл.

Есть идеи, ребята?

Ответы [ 2 ]

3 голосов
/ 21 января 2011

Есть несколько плагинов, которые могут помочь с этим.Посмотрите эту ссылку для приличного обзора.

Я использовал Andrew Valums AJAX Upload в нескольких проектах.Это хороший контроль и делает свое дело.Я также загрузил дополнительные значения полей (например, имя файла из текстового поля, некоторые метаданные true / false и т. Д.) Вместе с файлом в единственном AJAX POST.

Я должен добавить этот элемент управления Valumsэто не плагин jQuery - это базовый JavaScript.Я использовал его для вызовов $ .ajax jQuery.

ОБНОВЛЕНИЕ : На самом деле, недавно я нашел этот проект , который выглядит очень многообещающим как преемник Valumsзагрузить плагин.Он ориентирован на jQuery, так что я не уверен, профессионал он или нет, но решил поделиться им.Я еще не пробовал, но функции кажутся вам подходящими.

Надеюсь, это поможет!

1 голос
/ 20 января 2011

Краткий ответ: нет, вы не можете этого сделать.

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

...