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

207
Visualizações
AJAX: error de verificación previa 400

En mi aplicación, recibo un error de verificación previa en la segunda llamada AJAX cuando realizo la siguiente llamada de dos pasos:

 $.ajax({ type:'POST', url:'https://podio.com/oauth/token', data: { 'grant_type': 'app', 'app_id': '#####', 'app_token': '#####', 'client_id': '#####', 'redirect_uri': '#####', 'client_secret': '#####' } }).done(function(response){ $.ajax({ type:'PUT', contentType: "application/json", headers: {'Authorization': 'OAuth2 ' + response.access_token}, url:'https://api.podio.com/item/1/value/142784383', data: JSON.stringify({"values": "doofus@test.com"}) }).done(function(response){ console.log(response) }).fail(function(error){ console.log(error) }) })

El error en Chrome (con la extensión de navegador CORS Toggle activada) es el siguiente:

jquery.min.js:4 OPCIONES https://api.podio.com/item/1 400 () test.html:1 XMLHttpRequest no puede cargar https://api.podio.com/item/1/value/142784383 . La respuesta para la verificación previa tiene un código de estado HTTP 400 no válido

y registros de Safari

 Failed to load resource: the server responded with a status of 403 (HTTP/2.0 403)

refiriéndose a https://api.podio.com/item/1/value/142784383

Aunque he usado llamadas AJAX como esta muchas veces para mis propias aplicaciones, no estoy familiarizado con algunos de los matices de interactuar con API externas. Cualquier idea sobre las causas y soluciones a este problema sería muy apreciada.

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

0

Veo que define el tipo de contenido como application/json. Lo que pasa es que cuando el tipo de contenido es diferente al simple texto/html (y un par de otros), el navegador envía una solicitud de OPCIONES para asegurarse de que el servidor espera el tipo de contenido.

Luego, el servidor tiene que enviar un par de encabezados. Es posible que esté familiarizado con access-control-allow-origin: * pero el servidor también necesita decirle al navegador qué campos de encabezado está dispuesto a aceptar. Para eso, el servidor necesita enviar un

 Access-Control-Request-Headers: Content-Type

Esto le dice al navegador que el cliente puede enviar un encabezado de tipo de contenido en la solicitud real. Por lo tanto, debe asegurarse de que el servidor no solo acepte y devuelva 200 en una solicitud de OPCIONES, sino que también envíe los dos encabezados mencionados anteriormente.

En respuesta a su comentario, no necesita hacer nada en el cliente. El servidor necesita enviar esos encabezados.

Más

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