Ajax (jQuery) странная проблема поста файла - PullRequest
0 голосов
/ 16 мая 2010

У меня проблема с отправкой файла через функцию jjuery ajax. У меня есть что-то вроде этого:

$('#my_form').submit(function() {
       var serialized = $(this).formSerialize();
       var sUrl = "xxx";

       $.ajax({
           url: sUrl,
           type: "POST",
           data: serialized,
           success: function(data) {
               $(".main_container").html(data);
           }
       })
       return false; // THIS return statment blocks sending file content
    });

Когда я удаляю return false оператор все в порядке, серверная сторона получает содержимое файла и т. Д., Но когда он там (я наблюдаю с firebug), эта публикация отправляет только имя файла. Что может быть не так?

P.S. - Мне нужно это возвращаемое ложное утверждение, потому что я хочу манипулировать возвращаемыми данными самостоятельно.

1 Ответ

1 голос
/ 16 мая 2010

Первая остановка - инструкция.

Данные из элементов выбора файлов не сериализуются.

С http://api.jquery.com/serialize/

Вы не можете читать локальные файлы с помощью JS, поэтому вы не можете отправить их с помощью XMLHttpRequest.

jQuery - получение массива $ _FILES с использованием $ .post перечисляет ряд альтернативных подходов.

...