Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

398
Visualizações
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!

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

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.

over 4 years ago · Santiago Trujillo Relatório

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'));
over 4 years ago · Santiago Trujillo Relatório

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

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda