Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] AJAX envio POST sin refresh

Estas en el tema de AJAX envio POST sin refresh en el foro de Jquery en Foros del Web. Estoy practicando ajax con jquery haciendo un formulario el cual pueda insertar, editar, mostrar y eliminar sin que la pagina recargue, hasta ahroa e conseguido ...
  #1 (permalink)  
Antiguo 21/06/2016, 14:03
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
AJAX envio POST sin refresh

Estoy practicando ajax con jquery haciendo un formulario el cual pueda insertar, editar, mostrar y eliminar sin que la pagina recargue, hasta ahroa e conseguido 3 de esos..Insertar es quien me esta dando problemas porque la pagina se me recarga y cuando no se recarga solo me el ultimo campo del formulario.

Código Javascript:
Ver original
  1. var x = $(document).ready(Ini);
  2.  
  3. function Ini(){
  4.     $("#load").load("listados.php");
  5. }
  6.  
  7. function Llamar(n){
  8.     $.get("modificar.php",{id:n},function(data){
  9.         $("#datos").html(data);
  10.     });
  11. }
  12.  
  13. function Operaciones(n){
  14.     var btn = $("#op_"+n).val(),
  15.         idi = $("#id").val(),
  16.         nomb = $("#nom").val(),
  17.         canti = $("#cant").val();
  18.     console.log(btn);
  19.     $("#datos").html('<img src="loading.gif">');
  20.     $("#load").fadeTo("slow",0.1);
  21.     $.get("operaciones.php",{op:btn,id:idi,nom:nomb,cant:canti},Mostrar);
  22. }
  23.  
  24.  
  25. function Mostrar(data){
  26.     $("#datos").html('');
  27.     $("#load").fadeTo("slow",1);
  28.     $("#load").load("listados.php");
  29. }

Este es el codigo que uso para insertar y el formulario
Código HTML:
Ver original
  1.     <input type="text" name="nom" placeholder="Nombre">
  2.     <input type="text" name="cant" placeholder="Cantidad">
  3.     <input type="button" value="Agregar" onclick="Insertar()">
  4. </form>

Código Javascript:
Ver original
  1. function Insertar(){
  2.     var that = $("form"),
  3.         data = {};
  4.  
  5.     that.find('[name]').each(function(index,value){
  6.         var that = $(this),
  7.             name = that.attr('name'),
  8.             value = that.val();
  9.  
  10.         data[name] = value
  11.     });
  12.  
  13.     console.log($("form").serialize());
  14.    
  15.    $.ajax({
  16.         url: 'class/insertar.php',
  17.         dataType: 'text',
  18.         type: 'post',
  19.         contentType: 'application/x-www-form-urlencoded',
  20.         data: data,
  21.         success: function( data, textStatus, jQxhr ){
  22.             $("#load").fadeTo("slow",1);
  23.             $("#load").load("listados.php");
  24.         },
  25.         error: function( jqXhr, textStatus, errorThrown ){
  26.             console.log( errorThrown );
  27.         }
  28.     });
  29. }

En la consola me muestra "nom=XXX&cant=2" que si esta tomando los valores del formulario pero parece que solo esta enviando el ultimo valor poruqe solo me esta insertando lo que tiene "CANT".. alguna manito para resolver esto?

Codigo PHP para insertar
Código PHP:
Ver original
  1. include_once('productos.php');
  2. $p = new Producto($_POST['nom'],$_POST['cant']);
  3. $p->Insertar();
  #2 (permalink)  
Antiguo 21/06/2016, 17:46
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: AJAX envio POST sin refresh

Problema resuelto era una tonteria mia al momento de recibirlo en la Clase... Resuelto

Etiquetas: ajax, post, refresh
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:20.