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

211
Vistas
Tengo dos llamadas API JQuery Ajax a una API REST, una no funciona, ¿por qué?

Estoy haciendo una solicitud de obtención de API REST a un servidor. El servidor alberga trabajos de automatización que busco iniciar con parámetros.

 var jobURL = "https://hostname/api/v1/tasks"; $.ajax({ url: jobURL, method: 'GET', async: false, contentType: "application/json", data: { name: '*JOBNAME*' }, headers: { 'Authorization': 'Bearer '+ obj.access_token, 'Content-type': 'application/x-www-form-urlencoded', Accept:'application/json' }, success: function(data){ taskname_obj = data // result }

Estoy haciendo esto según la documentación del producto del servidor y está funcionando.

Tengo una solicitud exitosa, con elementos devueltos en la variable 'taskname_obj'. Dicho esto, estoy tratando de usar el mismo tipo de código para otra llamada.

 // THIS IS WORKING TO JOB WITHOUT PARAMS. // Let's run the job. $.ajax({ url: jobURL, method: 'POST', async: false, headers: { 'Authorization': 'Bearer '+ obj.access_token }, success: function(data){ taskname_obj2 = data // result } })

SO que estoy haciendo el código anterior

De nuevo tengo éxito, puedo comenzar mi trabajo. Tengo una indicación de éxito devuelta en taskname_obj2 .

Con todo lo dicho, estoy tratando de comenzar esto con parámetros. Supongo que tengo que poner eso en el elemento "datos:", y grito usar JSON. Entonces... hago lo siguiente...

 var payload = { USER_ID: "", BEGDATE: "060121", ENDDATE: "121521" }; $.ajax({ url: jobURL, method: 'POST', async: false, contentType: 'application/json', data: payload, headers: { 'Authorization': 'Bearer '+ obj.access_token, 'Content-type': 'application/x-www-form-urlencoded', Accept:'application/json' }, success: function(data){ taskname_obj2 = data // result } })

esto no funciona Recibo un error 415 del servidor para un tipo de medio no admitido. También intenté no usar JSON.stringify para el elemento de datos, pero también obtuve un 415 con eso.

Creo que no le estoy diciendo correctamente cómo leer mi JSON. ¿Alguien puede ayudarme a entender lo que estoy haciendo mal?

También intenté agregar este contentType: 'application/json', sin éxito.

ACTUALIZACIÓN: el uso de la técnica BARMAR me devuelve un error 422.

 $.ajax({ url: jobURL, method: 'POST', async: false, contentType: 'application/json', dataType: 'json', data: JSON.stringify(payload), headers: { 'Authorization': 'Bearer '+ obj.access_token }, success: function(data){ taskname_obj2 = data // result } })
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Deshágase de los Content-type y de Accept . Utilice las opciones contentType: y dataType: para especificarlas.

Y dado que la API requiere una entrada JSON, debe ser contentType: "application/json"

 $.ajax({ url: jobURL, method: 'POST', async: false, contentType: 'application/json', dataType: 'json', data: JSON.stringify(payload), headers: { 'Authorization': 'Bearer '+ obj.access_token }, success: function(data){ taskname_obj2 = data // result } })
about 4 years ago · Juan Pablo Isaza 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