Foros del Web » Programando para Internet » Jquery »

POST con Ajax

Estas en el tema de POST con Ajax en el foro de Jquery en Foros del Web. Tengo una tabla donde se presentan todos los usuarios y un boton editar al momento de editar un usuario lanza un "modal-box"(bootstrap) donde tnego un ...
  #1 (permalink)  
Antiguo 16/06/2016, 14:49
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
POST con Ajax

Tengo una tabla donde se presentan todos los usuarios y un boton editar al momento de editar un usuario lanza un "modal-box"(bootstrap) donde tnego un formulario que se llena con los datos del usuario ya traidos desde la base de datos y solo es editar lo que se necesite bien.. el problema es que el codigo para enviar la informacion me esta enviando los campos vacios estes es el codigo que uso
Código Javascript:
Ver original
  1. $("#editForm").submit(function(){
  2.     //Getting action and method from form
  3.     var that = $(this),
  4.         url = that.attr('action'),
  5.         type = that.attr('method'),
  6.         data = {};
  7.     //Getting values from form
  8.     that.find('[name]').each(function(index,value){
  9.         var that = $(this),
  10.             name = that.attr('name'),
  11.             value = that.val();
  12.  
  13.         data[name] = value
  14.     });
  15.  
  16.     //Playing with ajax
  17.     $.ajax({
  18.         type: type,
  19.         dataType: 'json',
  20.         url: url,
  21.         data: data,
  22.         // Showing a message with php
  23.         success: function(data){
  24.             console.log(data.msg);
  25.             if(data.success == 0){
  26.                 $("#result").html("<div class='alert alert-danger fade in'><a href='#' class='close' data-dismiss='alert' aria-label='close'>&times;</a><span id='message'>"+data.msg+"</span></div>");  
  27.  
  28.             } else if(data.success == 1){
  29.                 $("#result").html("<div class='alert alert-success fade in'><a href='#' class='close' data-dismiss='alert' aria-label='close'>&times;</a><span id='message'>"+data.msg+"</span></div>");
  30.             }
  31.         }
  32.     })
  33.     return false;
  34. })

cuando veo por consola lo que esta enviando me aparece "array()", ese mismo script lo uso en otro archivo para insertar informacion y funcinoa a la perfeccion..
  #2 (permalink)  
Antiguo 16/06/2016, 20:18
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: POST con Ajax

Prueba asi a ver:

Código Javascript:
Ver original
  1. function registra(){
  2.  
  3.         var frm = document.getElementById("editForm");
  4.         var datos = "";
  5.         var destino = $(frm).attr('action');
  6.         var type = $(frm).attr('method');
  7.  
  8.         for (i=0;i<frm.elements.length;i++)
  9.         {
  10.  
  11.             datos += frm.elements[i].name + "=";
  12.             datos += frm.elements[i].value + "&";            
  13.         }
  14.  
  15.         $.ajax({            
  16.             url:    destino+"?"+datos,
  17.             type:   type,
  18.  
  19.             success: function(retorno){
  20.                
  21.         /*AQUI EL RESTO DEL CODIGO*/
  22.             }
  23.         })
  24.     }
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 17/06/2016, 15:31
 
Fecha de Ingreso: mayo-2012
Mensajes: 117
Antigüedad: 11 años, 11 meses
Puntos: 1
Respuesta: POST con Ajax

Nop nada solo recarga la pagina no lanza ningun error se queda como si nada paso.. use este script para ver si era que no estaba tomando los valores de los input y si me lo imprime

Código Javascript:
Ver original
  1. $("#editForm").submit(function(e){
  2.     e.preventDefault();
  3.     console.log($("input[name=name]").val());
  4. })

Lo que no entiendo es el porque no lo puede tomar para enviar...

Etiquetas: ajax, post
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 11:01.