slevinkelevra Δημοσ. 2 Ιουλίου 2014 Δημοσ. 2 Ιουλίου 2014 Καλησπερα Συνεχιζω πειραματισμους με jQuery και τσεκαρω την $.getJSON. Εχω λοιπον αυτο $('#letter-b').click(function(e) { e.preventDefault(); $.getJSON('b.js', function(data,status){ $('#dictionary').html(data.term+" - "+status); } ); }); και το b . js ειναι [ { "term": "BACCHUS", "part": "n.", "definition": "A convenient deity invented by the...", "quote": [ "Is public worship, then, a sin,", "That for devotions paid to Bacchus", "The lictors dare to run us in,", "And resolutely thump and whack us?" ], "author": "Jorace" } ] Οταν ομως το τρεχω, περνω σαν απαντηση undefined - success Συγνώμη γιατι θα μου στριψει, πως κανουμε parse ενα json πραμα ? Το data θελουμε και μετα το ονομα του key , δλδ term. Επισης δοκιμασα data[term] ή data["term"]. Αλλα και παλι τιποτα, undefined μου γραφει. Να, ειδες, αυτες οι λεπτομερειες μου τη δινουν! Πως πρεπει να ειναι η συνταξη για να δω τις τιμες? Ευχαριστω
geomagas Δημοσ. 2 Ιουλίου 2014 Δημοσ. 2 Ιουλίου 2014 Αν δεν κάνω λάθος, το b.js δεν περιέχει ένα αντικείμενο, αλλά έναν πίνακα ( [ ] ) με ένα μοναδικό στοιχείο (object). Για δοκίμασε είτε να βγάλεις τα [ ] από το b.js είτε να αλλάξεις τον κώδικά σου σε: $('#dictionary').html(data[0].term+" - "+status); 1
alou Δημοσ. 2 Ιουλίου 2014 Δημοσ. 2 Ιουλίου 2014 Σωστός, βέβαια ο πίνακας καλά κάνει και υπάρχει αν δεν ξέρεις ότι θα πάρεις ένα στοιχείο σαν απάντηση, οπότε προτιμάς iteration σε ότι σου επιστρέψει (έβαλα και ένα random quote από εκεί μια και παίζεις, δεν είμαι σίγουρος ότι θα δουλέψει έτσι) $.each(data, function(i){ $('#dictionary').append(data[i].term + '<br />Random quote: ' + data[i].quote[Math.random() * data[i].quote.length] + '<br />'); } οπότε και append, όχι html γιατί θα αντικαθιστά το ένα το άλλο και θα μείνει το τελευταίο. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα