@haa

Как правильно передать данные по json_encode?

Доброго дня. Вопрос такой, как передать данные из БД по json_encode? Вытаскиваю данные так.
$data = array();
	$ads = $db->query('SELECT name, id FROM ads WHERE ads_id=?i', $_POST['id']);
	while($ads2 = $ads->fetch_array()){
		$data[] = $ads2;
	}	
       echo json_encode($data);

Обработка на js такой
var ads = JSON.parse(xmlhttp.responseText); // Преобразуем JSON-строку в массив
var text = "<option value=''>Текст</option>"; // Начинаем создавать элементы в select
for (var i in ads) {
/* Перебираем все элемены и создаём набор options */
text += "<option value='"+i+"'>" + ads[i] + "</option>";
}
document.myform.cities.innerHTML = text; // Устанавливаем options в select


Но он мне выводит [object Object]
<option value="0">[object Object]</option>
<option value="1">[object Object]</option>
<option value="2">[object Object]</option>
<option value="3">[object Object]</option>
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
@ollisso
попробуйте так:

text += "<option value='"+i+"'>" + ads[i].name + "</option>";


а вообще, попробуйте так:
console.log(ads);
и посмотрите что вы получаете.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы