JQuery AJAX поле пост файла - PullRequest
12 голосов
/ 19 апреля 2011

У меня есть форма с файлом ввода. Как получить файл и опубликовать его в php-скрипте с помощью jQuery? Могу ли я просто использовать .val (), чтобы получить значение, а затем опубликовать это? Например, допустим, что у входного файла есть идентификатор файла.

$('#submit').click(function() {
    var file = $('#file').val();
    $.post('script.php', { "file": file }, function(data) {
        // do something here after post complete
    }, 'json');
});

Спасибо

Ответы [ 4 ]

13 голосов
/ 19 апреля 2011

Это должно помочь. Как я могу загружать файлы асинхронно?

Поскольку пост предлагает, я рекомендую плагин, расположенный здесь http://malsup.com/jquery/form/#code-samples

9 голосов
/ 06 апреля 2016

Я попробовал этот код, чтобы принимать файлы, используя Ajax, и при отправке файла получает хранилище, используя мой файл php. Код немного изменен, чтобы работать. (Загруженные файлы: PDF, JPG)

function verify1() {
    jQuery.ajax({
        type: 'POST',
        url:"functions.php",
        data: new FormData($("#infoForm1")[0]),
        processData: false, 
        contentType: false, 
        success: function(returnval) {
             $("#show1").html(returnval);
             $('#show1').show();
         }
    });
}

Просто распечатайте данные файла и проверьте. Вы получите выход. Если ошибка, дайте мне знать.

0 голосов
/ 22 января 2013

Попробуйте это ...

<script type="text/javascript">
      $("#form_oferta").submit(function(event) 
      {
           var myData = $( form ).serialize(); 
           $.ajax({
                type: "POST", 
                contentType:attr( "enctype", "multipart/form-data" ),
                url: " URL Goes Here ",  
                data: myData,  
                success: function( data )  
                {
                     alert( data );
                }
           });
           return false;  
      });
</script>

Здесь contentType указано как multipart/form-data, как мы делаем в теге формы, это будет работать для загрузки простого файла. На стороне сервера вам просто нужнонаписать простой код загрузки файла для обработки этого запроса с эхом сообщения, которое вы хотите показать пользователю в качестве ответа.

0 голосов
/ 19 апреля 2011

Загрузка файлов может не выполняться таким образом, независимо от того, как вы его разбили. Если вы хотите загрузить ajax / async, я бы посоветовал посмотреть что-то вроде Uploadify или Valums

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