Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

390
Vistas
Cómo enviar un objeto JS con ajax

Tengo el siguiente código Jquery que envía una solicitud ajax a add-to-cart.php.

 var productData = { "product_id": s_product_id, "product_opties": s_product_opties, "product_aantal": s_product_aantal } productData = JSON.stringify(productData); $.ajax({ url: 'inc/add-to-cart.php', dataType: "json", contentType: "application/json; charset=utf-8", data: productData, type: 'POST', success: function(response) { alert(response.d); }, error: function(e){ console.log(e); } });

Agregar al carrito.php:

 <?php print $_POST['product_id']; ?>

Tengo dos problemas, el primero es que el $_POST['product_id'] no existe cuando lo solicito y, en segundo lugar, cuando la respuesta de ajax regresa, va directamente al error: función y no función de éxito.

El registro de la consola dice:

 [object Object]{readyState: 4, responseText: "<br /> <b>N...", status: 200, statusText: "OK"}

Si el estado es OK porque salta al error: parte?

¡Gracias!

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Prueba con:

 ... var productData = { 'product_id': s_product_id, 'product_opties': product_opties, 'product_aantal': product_aantal, } $.ajax({ url: 'inc/add-to-cart.php', dataType: 'json', data: productData, type: 'POST', success: function(response) { console.log(response.d); }, error: function(e){ console.log(e); } }); ...

Omitiendo el parámetro contentType de AJAX y la parte en la que encadena su JSON, eso ya está listo para enviarse a su url , por lo que no es necesario.

about 4 years ago · Santiago Trujillo Denunciar

0

eliminar la línea

 productData = JSON.stringify(productData);

Entonces no devuelva HTML <br> ... desde add_to_cart.php , debe devolver una cadena JSON creada por la función PHP json_encode y NADA MÁS.

Como en:

 <?php echo json_encode(array('d' => 'value of d'));
about 4 years ago · Santiago Trujillo Denunciar

0

Primero: el código de estado del servidor web es 200 porque entregó un sitio existente. Segundo: no necesita encadenar el objeto json por sí mismo

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda