Задать вопрос
@Dominik09

Как правильно заполнить select опциями из объекта Json?

Здравствуйте. Не получается правильно отобразить значения объекта json.
Из django во views.py передаю таким образом:
objects_list = serializers.serialize('json', City.objects.filter(street__icontains=request.POST.get("street"),))
return HttpResponse(json.dumps(objects_list), content_type='application/json')

Обрабатываю данные при успешном завершении операции во views.py:
success: function(data) {
                var streets = jQuery.parseJSON(data); // парсирую в объект скрипта
                alert(JSON.stringify(streets.street)); // выводит "undefined"
                var opts;
                for (var id in streets) {
                    opts += "<option value='" + id + "'>" + JSON.stringify(streets[id].street) + "</option>";
                }
                document.getElementById('street').innerHTML = opts;
            },
            error: function(){
            alert("Ошибка! Улица не существует");
            }

Select опциями из объекта Json по количеству заполняется правильно, но названия правильные не выводит. Только undefined. Скажите где ошибся, ибо перелистал кучу доков и везде синтаксис соблюдал?
  • Вопрос задан
  • 1986 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
success: function(data) {
            var streets = jQuery.parseJSON(data),
                opts = '';
            console.log(streets); // вывод переменной в консоль браузера
            // перебор js объекта
            for (var key in streets) {
                if (!streets.hasOwnProperty(key)) continue;
                var street = streets[key];
                opts += "<option value='" + street.id + "'>" + street.street + "</option>";
            }
        },
        error: function(){
            alert("Ошибка! Улица не существует");
        }
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
https://docs.djangoproject.com/en/1.10/ref/request...

перед отправкой сделай принт в питоне - что ты там вообще отправляешь
Ответ написан
@vetsmen
Сначала парси объект, котом только доставай из него значение
Ответ написан
Ваш ответ на вопрос

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

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