Anzeige der JSON-Daten zu HTML-Seite mit JavaScript
Ersten mal ausgesetzt, um JSON-also bitte so erklären als ob ich 5 ohne jargon.
Ich habe eine JSON-Datei wie diese und benötigen für die Anzeige dieser Elemente in einer Liste in HTML.
Viele Beispiele haben das JSON-Objekt einer Variablen zugewiesen - dies ist nicht einer Variablen zugewiesen, so bin ich nicht sicher, wie Sie zu verweisen.
Wie kann ich Zugriff und display-alles in einem Produkt-Liste.
In meinem html habe ich verbunden mit einer script.js die Datei und auch dieser json-Datei.
HTML
<h1>My Cart</h1>
<div id="cart">
<h2>Cart Items</h2>
<ul id="cartItemsList">
</ul>
</div>
JSON
"basket": {
"productList": [{
"product": {
"id": "111",
"name": "Dog",
"shortDescription": "<p>Mans best friend</p>",
},
"category": "Canine",
"availability": "In Stock",
"variationType": {
"name": "Breed",
"value": "Collie"
}
},
"quantity": 1,
"price": "$53.00"
}, {
"product": {
"id": "112",
"name": "Dog",
"shortDescription": "<p>Not so best friend</p>",
"category": "feline",
"availability": "Low In Stock",
"variationType": {
"name": "breed",
"value": "Maine Coon"
}
},
"quantity": 1,
"price": "$49.00"
}, {
"product": {
"id": "113",
"name": "Rabbit",
"shortDescription": "Likes carrots",
"category": "cuniculus",
"availability": "In Stock"
},
"quantity": 1,
"price": "$66.00"
}]
}
JavaScript
var products = document.getElementById("cartItemsList");
cartItemsList.innerHTML = "<li>" + product + "</li>";
- Sie können auch fügen Sie den code, den Sie verwenden, um die json vom server? Ich habe das Gefühl, diese Ressource würde dir helfen: developer.mozilla.org/en-US/docs/Web/Guide/AJAX/Getting_Started
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie laden diese aus einer externen Datei, müssen Sie die Ajax-oder eine ähnliche Art des Anrufs. Zu Ajax verwenden, müssen Sie eine Bibliothek namens jQuery zu Ihrem Projekt HTML-Datei. Dann rufen Sie Ihre JSON, ohne Bezug auf Sie es als eine javascript-variable wie Sie sehen in den folgenden funktionierenden code-snippet.
JS:
HTML:
Erste, Sie haben zu konvertieren, die
json
aus langen string zu akut js-Objekt.Sie tun so durch die
JSON.parse
Befehl. etwa so:Ihnen, können Sie mit einer Schleife werfen Sie Ihre Produkte in den productList und bauen Sie Ihre html-code, etwa so:
cartItemsList
variable kommen? Sie sind auch überschreiben Sie die innerHTML-jeder iteration anstelle der Zugabe eine neue Liste element jeder iteration.Es sei denn, Sie verwenden einen Ajax-call oder ähnliches zu laden, externe JSON, müssen Sie zum konvertieren von JSON-Sie haben in ein Objekt, das Sie referenzieren können, die als eine variable. Auch Ihre JSON ist nicht gültig. Ich habe versucht, korrigieren Sie es hier, und werde mich dann verweisen Sie Ihre JSON-Objekt als ein Objekt können Sie die Referenz über eine variable namens obj. Hier ist ein funktionierendes code-snippet.
JS:
HTML:
cartItemsList
überall definiert? Es gibt noch eine andere variable namensproducts
bezieht sich auf das gleiche element. Warum ist das gleiche element zweimal definiert, die in dem gleichen Stück code an eine andere variable? Einfach code ist gut, aber es sollte noch verhält sich wie erwartet (fügen Sie alle Elemente der Liste um der Liste). Ich fürchte, diese Antwort könnten am Ende hinzufügen noch weitere Verwirrung für Jessica, denn es druckt nur das Letzte element der Liste.