2017-10-11 1 views
0

Ich habe Probleme, ein serialisiertes Formular durch Ajax zu einer PHP-Datei zu senden. Ich kann die Zeichenfolge auf der Clientseite sehen, aber auf der Serverseite erhalte ich ein leeres Array. Ich versuche, die Formulardaten in einer Datenbank zu speichern, aber ich kann nicht scheinen, eine Möglichkeit zu finden, jede Eingabe zu trennen, und es in meiner php-Datei zu zeigen, nachdem ich mit ajax gesendet habe.serialisierte Form keine Ajax senden

JavaScript

$(function() { 
    //twitter bootstrap script 
    $("button#guardar").click(function(e) { 

    //var info = $('#myform').serialize(); 
    var info = $('form.contact').serialize(); 
    $.ajax({ 
     type: "POST", 
     url: "solicitudesProc.php", 
     data: info, 
     success: function(data) { 
     alert(info); 
     window.location.href = "solicitudesProc.php"; 
     //window.location.reload(); 
     $("#modalnuevo").modal('hide'); 
     }, 
     error: function(data) { 
     alert("failure"); 
     } 
    }); 

    }); 
}); 
<form class="contact" id="myform" method="post" name='alta'> 
    <div class="modal-body"> 
    <div class="row"> 
     <div class="col-md-2"> 
     <label>Solicitante</label> 
     <input type="text" class="form-control pull-right" name='solicitante' maxlength="20" required /> 
     </div> 
     <div class="col-md-2"> 
     <label>Fecha Emision</label> 
     <input type="text" class="form-control pull-right" name='fechaEmision' maxlength="20" /> 
     </div> 
    </div> 
    <div class="row"> 
     <div class="col-md-2"> 
     <label>Area Solicitante</label> 
     <input type="text" class="form-control pull-right" name='area' maxlength="20" /> 
     </div> 
    </div> 


    <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button> 
     <button type="submit" id="guardar" name='guardar' class="btn btn-danger pull-right" value="guardar">Generar</button> 
    </div> 
</form> 

Server-Seite solicitudesProc.php

<?php $info = $_POST; 
echo $_POST["solicitante"]; print_r($_POST); ?> 
+5

Warum würden Sie den Standort wechseln? 'window.location.href =" solicitudesProc.php ";' lädt die Seite mit einem GET und keine Daten – mplungjan

+0

https://stackoverflow.com/questions/18866571/receive-json-post-with-php – chiliNUT

+0

Sie auch brauchen Abbrechen der Standardaktion Ihrer Schaltfläche: Senden des Formulars. – jeroen

Antwort

0
  1. Sie Lage nicht ändern
  2. das Stornieren Absenden

empfehle ich Ihnen entweder die Form entfernen oder verdrahten Sie die einreichen Veranstaltung:

$(function() { 
    $("form.contact").on("submit", function(e) { 
    e.preventDefault(); // stop the submit 
    var info = $(this).serialize(); 
    $.ajax({ 
     type: "POST", 
     url: "solicitudesProc.php", 
     data: info, 
     success: function(data) { 
     console.log(info); 
     $("#modalnuevo").modal('hide'); 
     }, 
     error: function(data) { 
     alert("failure"); 
     } 
    }); 
    }); 
}); 
0

ich es tun maked arbeiten dies ändert:

Änderung der Form Aktion auf die PHP-Datei im Senden.

<form action="solicitudesProc.php" class="contact" id="myform" method="post" name='alta' > 

und meine Ajax geändert:

   var info = $('#myform').serialize(); 
     //var info = $('form.contact').serialize(); 
     $.ajax({ 
       type: "POST", 
       url: form.attr("action"), 
       data: $("#myform input").serialize(), 
       success: function(data){ 
        //console.log(info); 
        window.location.href = "solicitudes.php"; 
        //window.location.reload(); 
        $("#modalnuevo").modal('hide'); 
       }, 
       error: function(data){ 
        alert("failure"); 
      } 
     }); 

    }); 

});

Danke für Ihre Hilfe!

Verwandte Themen