Так что я пытаюсь заполнить поле выбора в моем html объектами массива с использованием результатов JSON, я так долго смотрел на весь этот код, я не думаю, что я видя простое решение моей проблемы. Это моя функция обратного вызова, где я заполняю поле выбора. Запрос JSON прошел отлично, но я каждый раз застрял в пустой коробке.Заполнение поля выбора с результатами массива JSON
function getArtistsCallBack()
{
if (req.readyState == 4) {
if (req.status == 200) {
// TO DO: populate artistlist select box using JSON
var response = req.responseText.parseJSON();
var artistSelect = document.getElementById("artistlist");
for (i=0;i<response.artistsarray.length;i++){
var artist_id = response.artistsarray[i].artist;
var artist = response.artistsarray[i].artist;
artistSelect.options[artistSelect.options.length] = new Option(artist, artist_id, false, true);
}
}
}
}
В данном случае это поле выбора в HTML для ссылки;
<div id="artistscontent">
<select id="artistlist"></select>
</div>
Это artists.php, где база данных запрашивается для массива объектов, массива, который используется ранее;
<?php
// Include utility files
require_once 'include/config.php';
// Load the database handler
require_once BUSINESS_DIR . 'database_handler.php';
// Load Business Tier
require_once BUSINESS_DIR . 'collection.php';
$artistsarray = Collection::GetArtists();
print json_encode($artistsarray);
$jsonresponse='{"artistsarray":[';
foreach($artistsarray as $artist => $row)
{
$artist_id=$artist+1;
$artist=$row['artist'];
$jsonresponse .= '"artist_id":"' . $artist_id . '"},';
$jsonresponse .= '"artist:"' . $artist . '"},';
}
$jsonresponse .= ']}';
echo $jsonresponse;
?>
Любая помощь была бы высоко оценена! Благодаря!
Можете ли вы предоставить вход JSON файл? –
И какие рамки вы используете, это Node.js? –
Что вы получаете, когда вы 'console.log (response);'? – zgood