Ich habe eine Zeichenfolge im JSON-Format, und ich möchte ein bestimmtes Element in ihm auswählen und es auf dem Bildschirm mit .innerHTML ausgeben.Warum JSON.parse() wird mir in diesem Fall nicht die Informationen von einem JSON-String erhalten?
Ich habe eine Zeichenfolge namens myData, die als JSON formatiert ist.
Die Zeichenfolge wird aus einer MySQL-Datenbank mit PHP entnommen.
, sie zu erhalten, verwende ich diese:
Ich hole tun, um die Einzelteile und ich kodieren das Array in einen String im JSON-Format
$faqs = $traerFaqs->fetchAll(PDO::FETCH_ASSOC);
$stringFaqs = json_encode($faqs);
Und ich es dann in einem Artikel setzen zur Verfügung, den DOM aber aus dem Blick verborgen:
echo '<div id="hiloFaqs" style="display: none;">';
echo $stringFaqs;
echo '</div>';
?>
Dies ist die Saite, die ich erhalte:
[
{"faqID":"1","tituloFaq":"Como accedo al material del Curso?","cuerpoFaq":"
Lorem ipsum dolor sit amet.<\/p>"
},
{"faqID":"2","tituloFaq":"Como cancelo los pagos del Curso?","cuerpoFaq":"
At vero eos et accusam et justo duo.<\/p>"
},
{"faqID":"3","tituloFaq":"Que documentacinn debo entregar?","cuerpoFaq":"
Stet clita kasd gubergren, no sea takimata sanctus.<\/p>"
},
{
"faqID":"4","tituloFaq":"Por que estoy suspendido?","cuerpoFaq":"
Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.<\/p>"
},{
"faqID":"5","tituloFaq":"Por que estoy pendiente?","cuerpoFaq":"
Kasd gubergren, no sea takimata sanctus est.<\/p>"
}
]
Jetzt versuche ich, einen bestimmten Artikel zu bekommen und aus irgendeinem Grund kann ich nicht. Ich bin neu in JS, so vielleicht bin ich etwas vergessen sehr albern hier:
var faqs = document.getElementById("hiloFaqs");
var myData = faqs.textContent;
faq = JSON.parse(myData);
$('#output').append(faq[0]['tituloFaq']);
habe ich die Ausgabe in Platz in meinem HTML-Datei, wie folgt aus: <span id="output"></span>
, aber nichts wird ausgedruckt.
Sollte nicht faq[0]['tituloFaq']
bekommen mich Como accedo al material del Curso? ausgegeben?
Was fehlt mir?
Warum wiederholst du es in HTML? Auch 'htmlspecialchars ($ stringFaqs);' wird es so ändern, dass die Zeichen keine gültige JSON-Zeichenkette mehr erzeugen. –
Wäre es einfacher, es einfach in einem Skript-Tag als echtem Javascript-Objekt wiederzugeben? – adeneo
wie geht das? – Rosamunda