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

276
Vistas
Cómo convertir una solicitud de datos de cuerpo sin procesar para una API a una solicitud ajax

Actualmente estoy usando cartero para realizar una solicitud de API que envía datos del cuerpo. Puedo hacer que esto funcione usando "x-www-form-urlencoded" o "raw". Ver ejemplos a continuación:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Estoy tratando de convertir esto en una solicitud de javascript ajax pero no estoy seguro de cómo formatear el cuerpo/texto de datos. Aquí está mi guión:

 $.ajax({ type: 'POST', url: 'https://login.microsoftonline.com/***/oauth2/token', headers: { "Content-Type": "application/json" }, data: { " grant_type=client_credentials &client_id=*** &client_secret=*** &resource=https://analysis.windows.net/powerbi/api " }, success: (data) => { console.log(data.token) }, error: (data) => { console.log('rr', data) } });

Cualquier ayuda sería apreciada

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Hay una discrepancia aquí, ya que está configurando el encabezado Content-Type en JSON, pero está enviando el formulario con código de URL. Necesitas usar uno u otro constantemente.

Si desea usar JSON explícitamente, haga esto:

 $.ajax({ type: 'POST', url: 'https://login.microsoftonline.com/***/oauth2/token', contentType: 'application/json', // shorter than setting the headers directly, but does the same thing data: JSON.stringify({ grant_type: 'client_credentials', client_id: '***', client_secret: '***' resource: 'https://analysis.windows.net/powerbi/api' }), success: data => { console.log(data.token) }, error: (xhr, textStatus, error) => { console.log('rr', error) } });

Si desea utilizar una cadena con código de URL de formulario, haga lo siguiente:

 $.ajax({ type: 'POST', url: 'https://login.microsoftonline.com/***/oauth2/token', data: 'grant_type=client_credentials&client_id=***&client_secret=***&resource=https://analysis.windows.net/powerbi/api', success: data => { console.log(data.token) }, error: (xhr, textStatus, error) => { console.log('rr', error) } });

Tenga en cuenta en los ejemplos anteriores que el primer argumento para el controlador de error no es la solicitud o los datos de respuesta como parece esperar su ejemplo. He modificado esa parte para aceptar los argumentos correctos.

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