Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

210
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!