Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154

    [jQuery] Leggere array JSON

    Ciao a tutti ragazzi, sto cercando di fare uno script di autocomplete. Il problema che ho è che una volta che PHP invia i risultati della ricerca autocomplete in formato JSON, non riesco poi a leggerli tramite javascript.

    Questa è la chiamata ajax che richiede i risultati:
    codice:
    $.ajax({ type: 'GET', url: 'hobby_search.php', data: { term: txt }, dataType: 'json', // Choosing a JSON datatype success: function(data) { var JSONArray = $.parseJSON( data ); console.log(JSONArray); }, error: function() {alert("Error. Try later.");} });
    La console mi dice che l'array JSONArray è null e non riesco a capire perché..

    Mentre questo è un esempio dei risultati in JSON:
    codice:
    [{"ID":"1","name":"Amateur astronomy \r"},{"ID":"2","name":"Amateur microscopy \r"},{"ID":"173","name":"Amateur radio \r"},{"ID":"299","name":"Amateur astronomy \r"},{"ID":"349","name":"Amateur theater \r"}]
    Avete qualche idea? Grazie!
    Mess with the best die like the rest.

  2. #2
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88
    Semplice, il tuo JSON, o almeno quello che hai messo come esempio, ha uno "squared bracket", una parentesi quadra all'apertura ed alla chiusura. Il formato standard del JSON prevede le "brace", le parentesi graffe, all'inizio ed alla fine di un JSON.

    Per dirla tutta, le parentesi quadre vanno usate solo negli array, quando si tratta del JSON.

  3. #3
    Originariamente inviato da IAL32
    Semplice, il tuo JSON, o almeno quello che hai messo come esempio, ha uno "squared bracket", una parentesi quadra all'apertura ed alla chiusura. Il formato standard del JSON prevede le "brace", le parentesi graffe, all'inizio ed alla fine di un JSON.

    Per dirla tutta, le parentesi quadre vanno usate solo negli array, quando si tratta del JSON.
    E questo dove l'hai letto?
    Quel JSON è perfettamente valido, come dice anche http://jsonlint.com/.

    Di sicuro non c'è bisogno di fare parseJSON, in quanto jQuery AJAX ti ritorna già il json come oggetto, o Array in questo caso. Se fail il parse di una cosa che non è una stringa contenente JSON valido, jQuery < 1.9 ritorna null, come dice chiaramente la documentazione.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    154
    Alla fine ho risolto così:

    codice:
    $.ajax({ type: 'GET', url: 'hobby_search.php', data: { term: txt }, dataType: 'json', // Choosing a JSON datatype success: function(data) { $.each(data, function(key, val) { alert(val.id); alert(val.interest_name); }); }, error: function() {alert("Error. Try later.");} });
    Mess with the best die like the rest.

  5. #5
    Utente di HTML.it L'avatar di IAL32
    Registrato dal
    Aug 2011
    Messaggi
    88
    Errore mio. Scusate tantissimo.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.