Последовательно преобразовывать и посылать текст и изображение посредством AJAX

У меня есть формуляр, который содержит поле текста и поле file, чтобы пересылать изображения, которые я посылаю посредством AJAX.

Как я могу последовательно преобразовывать неудар в лунку file как неудар в лунку text так, чтобы посылать два данных одновременно?

Я последовательно преобразовал поле текста и также FormData для неудара в лунку поле, но только он позволяет мне посылать 1 файл, или текст или неудар в лунку file.

Это - то, что я попробовал:


$("form").on("submit",function(e){

               var form = $(this).serialize();
               var imagen = new FormData($("#formdata")[0]);

                $.ajax({

                    type:'post', 
                    url:'enviar.php',
                    data:imagen,
                    contentType:false,
                    processData:false

                })
                .done(function(valor){

                    alert(valor);

                })
                .fail(function(data){

                    alert("Error");
                })




               e.preventDefault();
           });

<form action="enviar.php" method="post" enctype="multipart/form-data"  id="formdata">

        <table border="1px">
            <tr>
                <td>Titulo</td>
                <td><input type="text" name="titulo"></td>
            </tr>
            <tr>
                <td>Contenido</td>
                <td><textarea name="mensaje" id="" cols="30" rows="10"></textarea></td>
            </tr>
            <tr>
                <td>Insertar Imagen</td>
                <td><input type="file" name="archivo" /></td>
            </tr>
        </table>
        <br><br>
        <table border="1px">
            <thead>
                <th>ID</th>
                <th>Nombre</th>
                <th>Actualizar</th>
                <th>Eliminar</th>
            </thead>
            <tbody>
                <tr>
                    <td>1</td>
                    <td>Nombre</td>
                    <td><a href="actualizar.php">Actualizar</a></td>
                    <td><a href="eliminar.php">Eliminar</a></td>
                </tr>
            </tbody>
        </table>
        <br><br>
        <input type="submit" value="Insertar" />
    </form>
0
задан 23.07.2017, 22:58
1 ответ

Я осуществил что-то более простое, практическое и он дал мне желанный результат, который он состоял в том, чтобы посылать из-за метода post используя ajax формуляр, чтобы пересылать изображение и другие поля.

HTML

<form action="" name="formSubirFoto" id="formSubirFoto" enctype="multipart/form-data">
                <div class="row">
                    <div class="col-sm-6 text-right">
                        <input name="fotoArchivo" id="fotoArchivo" type="file" class="form-control input-sm" style="padding: 0px; border: 0px;">
                    </div>
                    <div class="col-sm-6 text-left">
                        <button class="btn btn-secondary btn-sm btn-block" type="button" id="btnSubir">
                            <i class="icon-camera bigger-100"></i> Subir
                        </button>

                        <input type="hidden" id="fotoIdwr" name="idwr">
                        <input type="hidden" id="fotoCodigo" name="codigo">
                    </div>

                </div>
            </form>

AJAX

$('#btnSubir').click(function () {
        var formData1 = new FormData($('#formSubirFoto')[0]);
        $.ajax({
            type: "POST",
            url: 'mvc/ajax/subir_archivo_wr.php',
            cache:false,
            data: formData1,
            dataType: "json",
            contentType: false,
            processData: false,
            success: function(datos){
                $('#contenido').html(datos);
            }
        });
    });
0
ответ дан 24.11.2019, 07:21