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

266
Visualizações
Error de sintaxis no detectado: Token inesperado < en JSON en la posición 0: en JSON.parse (<anónimo>) en Objeto.<anónimo>

tengo un error en JSON.parse(), tengo un archivo .php que contiene un método para recuperar datos de la base de datos y un archivo .js para la función de autocompletar, mi archivo .php devuelve datos como una cadena y necesito convertirlo en objeto usando JSON.parse().

este es mi archivo php

 <?php include_once("database_conn.php"); function request($conn) { $eventstArray = array(); $events = "SELECT * FROM te_events,te_category,te_venue WHERE te_events.venueID = te_venue.venueID AND te_events.catID = te_category_catID ORDER BY 1 "; $eventsQuery1 = mysqli_query($conn,$events) or DIE (mysqli_error($conn)); while($eventsQuery2 = mysqli_fetch_array($eventsQuery1)) { $eventstArray[] = array ( 'label' => $eventsQuery2['eventTitle']; 'venue' => $eventsQuery2['venueName']; 'category' => $eventsQuery2['catDesc']; 'price' => $eventsQuery2['eventPrice']; 'description' => $eventsQuery2['eventDescription']; ); } return json_encode($eventstArray); } echo request($conn); ?>

y este es mi archivo autoComplete.js

 $(document).ready(function() { 'use strict'; $.ajax ({ method: "get", url: "requestOffer.php" }) .done(function(data) { var offers = JSON.parse(data); // now we have the data attach the autocomplete $('#EOffers').autocomplete ({ minLength:3, source: offers, select: function(event, ui) { $('#chosenEvent').text(ui.item.label); $('#chosenEvent').text(ui.item.vanue); } }); }); });

No puedo eliminar el JSON.parse() porque lo necesito para convertir de cadena a objeto, espero que alguien pueda ayudarme a resolver esto y realmente lo aprecio.

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

0

El error está dentro del lado del servidor, cuando hay un error en el lado del servidor, la respuesta viene con las etiquetas html '<' cuando hay un error, php agregará la etiqueta con el mensaje de error. Por lo tanto, su json contiene las etiquetas html y deja de ser válido debido a etiquetas inesperadas.

El error está dentro de esta matriz.

 $eventstArray[] = array ( 'label' => $eventsQuery2['eventTitle']; 'venue' => $eventsQuery2['venueName']; 'category' => $eventsQuery2['catDesc']; 'price' => $eventsQuery2['eventPrice']; 'description' => $eventsQuery2['eventDescription']; );

debería ser

 $eventstArray[] = array( 'label' => $eventsQuery2['eventTitle'], 'venue' => $eventsQuery2['venueName'], 'category' => $eventsQuery2['catDesc'], 'price' => $eventsQuery2['eventPrice'], 'description' => $eventsQuery2['eventDescription'] );

(El origen del problema era el punto y coma (;) después del valor de la descripción. Debería estar solo al final de la matriz)

over 4 years ago · Santiago Trujillo Relatório

0

Ese error normalmente se ve cuando el valor dado a JSON.parse en realidad no está definido. Por lo tanto, verificaría el código que intenta analizar esto; lo más probable es que no esté analizando la cadena real que se muestra aquí.

over 4 years ago · Santiago Trujillo Relatório

0

Es un error del lado del servidor. Puede verificar el valor devuelto por el servidor (código php) usando las herramientas de desarrollo del navegador como Firefox y verificar el mensaje de respuesta.

Además, tal vez pueda eliminar JSON.parse() y agregar dataType: "json" dentro de la función ajax

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