Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657

В цикле выводится только последняя запись

12.03.2019, 20:07. Показов 3568. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый вечер.
нужна помощь.
Сервер отправляет json объект
PHP
1
[{'name': 'Иван', 'email': 'ivan@mail.ru'},{'name':'Макс', 'email':'max@mail.ru' ]['id':1,'images':'alpha.jpg']
Я получаю объекта на стороне JavaScript, и с помощью split разбиваю их.
JavaScript
1
2
3
var s = data.split(']')[0] + ']';
var k = data.split(']')[1] + ']';
var ns = JSON.parse(s)
У меня получается ассоциативный массив, и мне нужно вывести их в блок div
Я их вывожу, но однако у меня выводится только последняя запись то есть Макс, а мне нужно чтобы выводились все записи.
Самое интересное через alert выводится все записи
JavaScript
1
2
3
4
5
for(i in ns)
{
 $(ns[i].name).insertAfter('.block'); //выводится Макс
alert(ns[i].name);//выводится Иван , Макс
}
В чем проблема помогите пожалуйста
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2019, 20:07
Ответы с готовыми решениями:

Не выводится последняя запись из БД
Всем доброго времени суток! Столкнулся с такой проблемой: не выводится последняя запись из БД. скажите, что не так? function...

Чтение из файла - последняя запись выводится два раза
Очень нужна помощь в написании функции на С++ У меня есть написанная функция Bus *Read_file(char *fname) { FILE...

в цикле не выводится запись с id=0
есть таблица id| name| abovecont 0| Header| 0 1| Menu| 0 2| Baner| 0 3| Left| 0 5| center| 1 6| Bottom| 0 след код -

40
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
12.03.2019, 20:29
Цитата Сообщение от server_net Посмотреть сообщение
Сервер отправляет json объект
Какой то странный JSON получается в вашем примере...

Цитата Сообщение от server_net Посмотреть сообщение
с помощью split разбиваю их.
А это зачем?

https://codepen.io/arcmag/pen/KEyNao

JavaScript
1
2
3
4
const container = document.querySelector(`.container`);
const dataList = [{'name': 'Иван', 'email': 'ivan@mail.ru'},{'name':'Макс', 'email':'max@mail.ru'},{'id':1,'images':'alpha.jpg'}];
 
container.innerHTML = dataList.map(it => it.name).join(`<br>`);
Да и структура данных в вашем массиве какая то странная, вперемешку и данные пользователей и данные какой то картинки, так делать нельзя...
1
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 20:36  [ТС]
Цитата Сообщение от arcmag Посмотреть сообщение
Какой то странный JSON получается в вашем примере...
JSON я пример привел, там совершенно другие данные.
Цитата Сообщение от arcmag Посмотреть сообщение
[{'name': 'Иван', 'email': 'ivan@mail.ru'},{'name':'Макс', 'email':'max@mail.ru'},{'id':1,'images': 'alpha.jpg'}]
Здесь не правильно,здесь передается 2 объекта , а вы взяли и превратили в один.
это не решение(
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
12.03.2019, 20:40
server_net, JSON абсолютно не валидный. Изначально и не должен был работать.
Кавычки должны быть двойными. И пропущена закрывающая фигурная скобка.

И цикл for..in нельзя так использовать.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!doctype html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <script>
        var data = '[{"name": "Иван", "email": "ivan@mail.ru"},{"name":"Макс", "email":"max@mail.ru" }]["id":1,"images":"alpha.jpg"]';
 
        var s = data.split("]")[0] + "]";
        var k = data.split("]")[1] + "]";
        var ns = JSON.parse(s);
 
        console.log(s);
        console.log(k);
        console.log(ns);
 
        for (var i = 0; i < ns.length; i++) {
            //$(ns[i].name).insertAfter('.block'); //выводится Макс
            alert(ns[i].name);//выводится Иван , Макс
        }
    </script>
</body>
</html>
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 20:42  [ТС]
Цитата Сообщение от amr-now Посмотреть сообщение
JSON абсолютно не валидный
Я json от себя написал, так как я на другом компьютере пишу. я написал как бы пример.
Цитата Сообщение от amr-now Посмотреть сообщение
И цикл for..in нельзя так использовать
но я же в других скрипах испольовал , точно такие же данные, точно такая же проблема была там.
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
12.03.2019, 20:42
Цитата Сообщение от server_net Посмотреть сообщение
а вы взяли и превратили в один.
Вообще то это массив с тремя объектами.
То что что у вас было, кроме ошибки ничего не выдаст, либо в таком случае предоставьте валидные данные, либо я не знаю как вам помочь.
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
12.03.2019, 20:44
Цитата Сообщение от server_net Посмотреть сообщение
но я же в других скрипах испольовал
А потом появляются сайты с пятьюдесятью ошибками на одной странице.

Скрипт крайне некачественный во всех смыслах.
1
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 21:13  [ТС]
arcmag, попохже предоставлю

Добавлено через 36 секунд
Цитата Сообщение от amr-now Посмотреть сообщение
Скрипт крайне некачественный во всех смыслах.
ассоциативный массив можно обработать через for..in даже нужно.

Добавлено через 1 минуту
Цитата Сообщение от amr-now Посмотреть сообщение
Скрипт крайне некачественный во всех смыслах.
блин еще раз говорю. я от себя это написал. чтобы понять как разбивается эти объекты

Добавлено через 21 минуту
arcmag, amr-now
вот посмотрите пожалуйста
PHP
1
2
[{"id":"6","newname":"id_site5c87f382979ef46043.jpg","folder":"folder_31"}]
[{"new_file":"<h4><i class=\"glyphicon glyphicon-plus\"><\/i> \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e<\/h4>","my_file":"1","plus":"<i class=\"glyphicon glyphicon-plus\"><\/i>","files":"<fieldset>\n\t\t\t\t<legend>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u043e\u0442\u043e<\/legend>\n\t\t\t\t<p class=\"text-muted small\">\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0444\u043e\u0440\u043c\u0430\u0442\u044b <code>.jpeg\/.jpg<\/code>&nbsp;<code>.png<\/code><\/p>\n\t\t\t\t<input type=\"file\" id=\"file\">\n\t\t\t\t<div class=\"select_file\">\n\t\t\t\t\t<p class=\"maska_select_file\" onclick=\"file.click();\">\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u043e\u0442\u043e<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"images_loading\">\n\t\t\t\t\t<img class=\"img-responsive\" id=\"one_file\">\n\t\t\t\t\t<p class=\"vibor\">\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0435 \u0444\u043e\u0442\u043e<\/p>\n\t\t\t\t\t<center><button class=\"btn btn-xs btn-block btn-success save_file\">\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u043e\u0442\u043e<\/button><\/center>\n\t\t\t\t<\/div>\n\t\t\t\t<\/fieldset>"}]
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
12.03.2019, 21:20
Вторую строку JSON.parse не хочет обрабатывать, ошибку выдаёт. Значит что то с этим JSON не так...
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 21:24  [ТС]
Цитата Сообщение от arcmag Посмотреть сообщение
Значит что то с этим JSON не так...
Может двойные ковычки во втором JSON??? Они экранирует посмотрите пожалуйста

Добавлено через 1 минуту
Цитата Сообщение от arcmag Посмотреть сообщение
Вторую строку JSON.parse не хочет обрабатывать
Странно но у меня вторая обрабатывается и работает как следует.
JavaScript
1
 data.split("]")[1] + "]";
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
12.03.2019, 21:31
Ок, вывел я вашу разметку...
https://codepen.io/arcmag/pen/KEyNao?editors=0110
1
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 21:50  [ТС]
arcmag, в чем проблема была?

Добавлено через 3 минуты
arcmag, друг мне как раз таки нужно вывести не этот массив , а массив с id,folder чтобы вывелись все данные , а не только последний
0
 Аватар для arcmag
347 / 322 / 203
Регистрация: 27.06.2014
Сообщений: 762
12.03.2019, 22:00
server_net, ну пример я вам показал, по аналогии выведите.
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 22:03  [ТС]
arcmag, хорошо поробую
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
12.03.2019, 22:07
server_net,

Вы бы хоть объяснить смогли нормально...
Это то что вам нужно -> https://codepen.io/Mr_Sergo/pe... itors=0010 ?
JavaScript
1
2
3
4
let data = [{"id":"6","newname":"id_site5c87f382979ef46043.jpg","folder":"folder_31"}];
let html = [{"new_file":"<h4><i class=\"glyphicon glyphicon-plus\"><\/i> \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u043e\u0442\u043e<\/h4>","my_file":"1","plus":"<i class=\"glyphicon glyphicon-plus\"><\/i>","files":"<fieldset>\n\t\t\t\t<legend>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u043e\u0442\u043e<\/legend>\n\t\t\t\t<p class=\"text-muted small\">\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0444\u043e\u0440\u043c\u0430\u0442\u044b <code>.jpeg\/.jpg<\/code>&nbsp;<code>.png<\/code><\/p>\n\t\t\t\t<input type=\"file\" id=\"file\">\n\t\t\t\t<div class=\"select_file\">\n\t\t\t\t\t<p class=\"maska_select_file\" onclick=\"file.click();\">\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u043e\u0442\u043e<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"images_loading\">\n\t\t\t\t\t<img class=\"img-responsive\" id=\"one_file\">\n\t\t\t\t\t<p class=\"vibor\">\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0435 \u0444\u043e\u0442\u043e<\/p>\n\t\t\t\t\t<center><button class=\"btn btn-xs btn-block btn-success save_file\">\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u043e\u0442\u043e<\/button><\/center>\n\t\t\t\t<\/div>\n\t\t\t\t<\/fieldset>"}]
 
document.body.innerHTML = Object.values(data[0]).join`<br>`;
Или как-то по-другому, или что-то не хватает?
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 22:09  [ТС]
arcmag, ну тут проблема. вы указали в data полностью текст взяли и указали.
В моем случае id,folder их могут быть как 1 так и 10 это зависит от пользователя.
мне нужно вывести данные не зная сколько их там.
как это реализовать?

Добавлено через 2 минуты
Mr_Sergo, спасибо, точто я просил. сейчас я попробую не уходи пжл
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
12.03.2019, 22:11
server_net, то же самое и с переменной html
JavaScript
1
document.body.innerHTML = Object.values(html[0]).join`<br>`;
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 22:11  [ТС]
Цитата Сообщение от Mr_Sergo Посмотреть сообщение
document.body.innerHTML = Object.values(data[0]).join`<br>`;
выводит [, не работает.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
12.03.2019, 22:13
server_net, или так -> https://codepen.io/Mr_Sergo/pe... itors=0010
??
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
12.03.2019, 22:13  [ТС]
Цитата Сообщение от Mr_Sergo Посмотреть сообщение
[{"id":"6","newname":"id_site5c87f382979e f46043.jpg","folder":"folder_31"}];
но блин я не знаю сколько тут точных значений.
тут может как 1 быть так и 10, таких с id, folder.
вот что я хочу узнать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2019, 22:13
Помогаю со студенческими работами здесь

Почему только последняя запись
При поиске выводится только последняя запись, а не все возможные варианты... почему? require (&quot;bd.php&quot;); $stro_v = $_POST;...

Выборка по дате - отображается только последняя запись
public Form1() { InitializeComponent(); DB = new SQLiteConnection(&quot;Data...

В label отображается только последняя запись из цикла
Добрый вечер! Пытаюсь написать небольшое приложение для проверки доступности сайта по HTTP В консоли всё работает, но с графикой...

Как сделать запись в реестр win7 64. В реестр попадает только последняя запись
Добрый вечер! Не могу сделать запись в реестр win7 64. Microsoft.Win32.RegistryKey hklm = Microsoft.Win32.Registry.LocalMachine; ...

Выводится только 1 запись
Здравствуйте, вывожк данные из базы, а выводится только 1 вместо 2 &lt;? $q1=mysql_query(&quot;SELECT * FROM feedback LIMIT 2 &quot;); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru