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

143
Visualizações
Convierta una cadena en una matriz de javascript llamando a AJAX php curl call

¿Cómo convierto este resultado en una matriz de JavaScript?

HTTP/1.1 200 OK Fecha: sábado, 02 de octubre de 2021 09:19:28 GMT Tipo de contenido: application/json Longitud del contenido: 796 Conexión: keep-alive

{ "refresh_token_expires_in": "7779999", "refresh_token_status": "aprobado", "api_product_list": "[trustpilot-client-api, public_data]", "app_enduser": "APIID", "api_product_list_json": [ "trustpilot-client -api", "public_data" ], "organization_name" : "trustpilot", "developer.email" : "dev.accounts+developerapps@trustpilot.com", "token_type" : "BearerToken", "issued_at" : "1633166368319" , "client_id": "CLIENTID", "access_token": "ACCESSTOKEN", "refresh_token": "TOKENNAME", "application_name": "NAME6", "scope": "", "refresh_token_issued_at": "1633166368319", "expires_in " : "359999", "refresh_count" : "0", "estado" : "aprobado" }

Pensé que sería tan simple como PHP codificarlo, luego Javascript usando JSON.parse, pero luego aparece el error Uncaught SyntaxError: Unexpected token H en JSON en la posición 0

Código PHP:

 $payload = http_build_query(array( 'grant_type' => 'password', 'username' => $username, 'password' => $password )); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'https://api.trustpilot.com/v1/oauth/oauth-business-users-for-applications/accesstoken'); //Url curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Authorization: Basic ' . base64_encode($apiKey . ':' . $secretKey), 'Content-Type: application/x-www-form-urlencoded' )); $content=curl_exec($ch); if (curl_error($ch)) { $error_msg = curl_error($ch); echo json_encode($error_msg); } else { echo json_encode($content); } curl_close($ch);

Código AJAX:

 $.ajax({ type: "POST", url: "api-test-access-token.php", dataType: "JSON", success: function (response, textStatus, xhr) { var jsonData = JSON.parse(response); console.log(response); } })
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe establecer CURLOPT_HEADER arriba en false (o eliminar la línea), ya que agregará los encabezados a la salida de curl_exec y, por supuesto, este no es un JSON válido. $content solo contendrá el cuerpo de la respuesta.

De la documentación de PHP (ver https://www.php.net/manual/en/function.curl-setopt.php ):

 CURLOPT_HEADER | true to include the header in the output.
about 4 years ago · Juan Pablo Isaza 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