• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

162
Vistas
No logro pasar información (objeto) usando Ajax (Jquery)

Actualmente estoy luchando para pasar información de mi vista a un controlador (modelo MVC) en PHP. Estoy usando el método ajax.

Me gustaría transmitir información, como cadenas o matrices, al controlador:

 var dataToSend = [{ fieldname: 'ABC' }, { fieldname: 'DEF' }]; dataToSend = JSON.stringify({ 'list': dataToSend }); $(".application-accept").click(function(event){ $.ajax({ url: "/olad2/project/processapplication/1", type: "POST", data: dataToSend, datatype: "JSON", contentType: "application/json; charset=utf-8" }).done(function(response){ console.log(response); console.log("done"); }).fail(function(err){ console.log(err.responseText); console.log("failed"); }); });

Cuando hago eco del resultado en el controlador, me han dicho por error que no hay una matriz:

 echo json_encode(var_dump($_POST));

Que muestra (console.log()):

 <b>array</b> <i>(size=0)</i>

vacío nulo

Sé que hay mucho tema sobre este tema, pero no funciona. Usted me podría ayudar ?

pd: es mi primer post

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

0

Esta versión revisada funciona:

 $.ajax({ url:"https://jsonplaceholder.typicode.com/users", // url: "/olad2/project/processapplication/1", method: "POST", data: JSON.stringify({list:[{ fieldname: 'ABC' }, { fieldname: 'DEF' }]}), datatype: "JSON", contentType: "application/json; charset=utf-8" }).done(function (response) { console.log(response); console.log("done"); }).fail(function (err) { console.log(err.responseText); console.log("failed"); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Pero incluso su versión "casi sin cambios" funcionaría con la dirección de destino typicode:

 var dataToSend = JSON.stringify({ 'list': [{ fieldname: 'ABC' }, { fieldname: 'DEF' }] }); $.ajax({ // url: "/olad2/project/processapplication/1", url: "https://jsonplaceholder.typicode.com/users", type: "POST", data: dataToSend, datatype: "JSON", contentType: "application/json; charset=utf-8" }).done(function(response) { console.log(response); console.log("done"); }).fail(function(err) { console.log(err.responseText); console.log("failed"); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

about 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda