Foros del Web » Programando para Internet » Jquery »

No me funciona este codigo ajax + JSON

Estas en el tema de No me funciona este codigo ajax + JSON en el foro de Jquery en Foros del Web. buenas a [email protected], Estoy tratando de hacer cancionar esta vaina pero pailas.... @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $. ajax ( {     ...
  #1 (permalink)  
Antiguo 31/07/2019, 19:47
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 534
Antigüedad: 15 años, 1 mes
Puntos: 7
No me funciona este codigo ajax + JSON

buenas a [email protected],

Estoy tratando de hacer cancionar esta vaina pero pailas....

Código Javascript:
Ver original
  1. $.ajax({
  2.       url: "entrada_registra.php",
  3.       Type: "POST",
  4.       dataType: "JSON",
  5.       data: {comprob:"ENT", nom_comprob:"ENTRADAS ALMACEN", num:"1", detalle:[{item:"111222", descripcion:"PRODUCTO 2", cantidad:"15", vr_unit:"25.65", vr_total:"384.75"}, {item:"111555", descripcion:"PRODUCTO 5", cantidad:"30", vr_unit:"14.80", vr_total:"444.00"}]},
  6.  
  7.       success: function(response) {
  8.             console.log(response);
  9.         }
  10.   });

En entrada_registra.php solo tengo print_r($_POST) He cambiado dataType a html o text pero solo muestra Array()

El string (?) de data: originalmente lo armo por fuera de $.ajax y queda asi: data: datos

Que sera lo que me sobra o lo que me falta?

Gracias de antemano por su ayuda....
__________________
El que no sabe y sabe que no sabe, es un ignorante...enseñémosle!. El que no sabe y se cree que sabe, es un necio... ¡ignorémosle!.
El que sabe y sabe que sabe, es un sabio... ¡sigámosle!.
  #2 (permalink)  
Antiguo 31/07/2019, 21:50
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.435
Antigüedad: 11 años, 5 meses
Puntos: 1065
Respuesta: No me funciona este codigo ajax + JSON

prueba con esto

Código Javascript:
Ver original
  1. let mis_datos = new FormData();
  2. mis_datos.append('var1', 'contenido1');
  3. mis_datos.append('var2', 'contenido2');
  4. mis_datos.append('var3', 'contenido3');
  5. mis_datos.append('var4', 'contenido4');
  6.  
  7. $.ajax({
  8.   url: "entrada_registra.php",
  9.   Type: "POST",
  10.   dataType: "JSON",
  11.   data: mis_datos,
  12.   success: function(response) {
  13.         console.log(response);
  14.     }
  15.  });


o mejor aun deja de usar jQuery para este fin, te recomiendo Axios va genial.
  #3 (permalink)  
Antiguo 01/08/2019, 19:41
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 534
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: No me funciona este codigo ajax + JSON

Saludos ArturoGallegos

Implementé la opción que me sugirió:

Código Javascript:
Ver original
  1. function Registrar() {
  2.   var mis_datos = new FormData();
  3.   mis_datos.append("comprob",$("#comprob").val());
  4.   mis_datos.append("nom_comprob",$("#nom_comprob").val());
  5.   mis_datos.append("num",$("#num").val());
  6.  
  7.   $.ajax({
  8. //    processData: false,
  9. //contentType: false,
  10.       url: "entrada_registra.php",
  11.       Type: "POST",
  12.       dataType: "JSON",
  13.       data: mis_datos,
  14.  
  15.       success: function(response) {
  16.             console.log(response);
  17.            $('#dataGrid').html(response);
  18.         },
  19.         error: function(jqXHR, textStatus, errorThrown)
  20.         {
  21.             console.log(jqXHR);
  22.             console.log(textStatus);
  23.             console.log(errorThrown);
  24.         }
  25.   });
  26. }

Al probar en Firefox me reporta el error:

TypeError: 'append' called on an object that does not implement interface FormData.jquery-3.4.1.js:8685:5

Al probar en GoogleChrome reporta el error:

jquery-3.4.1.js:8685 Uncaught TypeError: Illegal invocation
at add (jquery-3.4.1.js:8685)
at buildParams (jquery-3.4.1.js:8672)
at Function.jQuery.param (jquery-3.4.1.js:8709)
at Function.ajax (jquery-3.4.1.js:9301)
at Registrar (entrada_ajax.js:262)
at HTMLButtonElement.onclick (entrada.php:1)


Por otro lado, estoy buscando documentación sobre Axios... Ahí vamos....

Agradezco infinito su interés y ayuda sobre el tema....
__________________
El que no sabe y sabe que no sabe, es un ignorante...enseñémosle!. El que no sabe y se cree que sabe, es un necio... ¡ignorémosle!.
El que sabe y sabe que sabe, es un sabio... ¡sigámosle!.



La zona horaria es GMT -6. Ahora son las 00:47.