
22.04.2019, 22:27
|
Интересующийся
|
|
Регистрация: 01.10.2017
Сообщений: 19
|
|
Правильный подход использования XHR
Хотелось бы уточнить какой из двух подходов более верный(ну либо наиболее применимый), при необходимости выполнить обновление чего либо из MySQL:
1)Через XHR делаю запрос к базе, средствами php формирую нужный ответ с нужной разметкой и вставляю его напрямую в inerHtml нужного элемента.
2) Через XHR делаю запрос к базе, возвращаю допустим JSON, парсинг его средствами JS, и средствами JS же, добавление нужных узлов в DOM.
Хотелось бы узнать плюсы и минусы обоих вариантов, хотя более склоняюсь к первому.
|
|

22.04.2019, 22:57
|
Интересующийся
|
|
Регистрация: 01.10.2017
Сообщений: 19
|
|
Эта мысль посещала меня, но ведь во втором случае, придется те же тысячи строк сначала распарсить на стороне клиента, а потом и внедрить в DOM. Вот и хочу понять в чем окажется узкое место (и при каких объемах), то есть, что займет большее время: загрузка ответа с сервера (со всей разметкой) либо же манипулирование с DOM.
|
|

23.04.2019, 04:38
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Maklay
|
какой из двух подходов более верный
|
А о чем речь? Если это простая таблица, пусть возвращает готовое сервер, хотя и клиенту ее сформировать не сложно. Но кто бы этим не занимался в любом случае иметь большие объемы данных на клиенте не выгодно, используют постраничную навигацию.
|
|

23.04.2019, 10:28
|
 |
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от Maklay
|
Хотелось бы узнать плюсы и минусы обоих вариантов, хотя более склоняюсь к первому.
|
Сервер ничего не должен знать о визуальном представлении информации. Вам лучше всего подходит второй вариант, там где сервер возвращает чистые данные, подходит лучше всего. Чистые данные могут быть легко представлены не только в JSON, но и любом другом формате, будь то CSV, XML или ваш собственный бинарный формат! Первый вариант является сплошным минусом, о нём программисты обычно не упоминают!
Вот плюсы и минусы, которые я нашёл: https://mavo.io/demos/decisions/?sto...mv-data/render
|
|

23.04.2019, 10:51
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,148
|
|
Сообщение от Malleys
|
Вот плюсы и минусы, которые я нашёл
|
не осилил ... что это?
|
|

23.04.2019, 11:51
|
 |
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от рони
|
не осилил ... что это?
|
Список принятия решении... Рассматриваются варианты за(pro) и против(con), в зависимости от того, каких вариант больше, строится ответ! (если больше за, то ответ Да!, иначе Нет!)
Рассмотрены были два вопроса, даны ответы, и даже видно, почему такие ответы!
Я использовал это веб-приложение, чтобы и другие увидели это рассуждение! Вы однако можете использовать какое угодно такое приложение, или писать на бумаге, если это так привычней!
|
|

23.04.2019, 11:54
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,148
|
|
Сообщение от Malleys
|
Я использовал это веб-приложение
|
я не знаю что это, возможно оно мне недоступно.
|
|

23.04.2019, 12:21
|
 |
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Сообщение от рони
|
я не знаю что это, возможно оно мне недоступно.
|
Как так возможно? Я вижу так...
Я надеюсь этот снимок моего экрана вам доступен!
|
|

23.04.2019, 12:33
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Malleys, все это похоже на воспаленный бред если рассматривать вне контекста. Я не потому, что первое плохо, а второе хорошо или наоборот.
Это напоминает спор с одной стороны упоротых линуксоидов доказывающих, что их любимая ОС есть лучшее, что сотворил человек, а с другой тех кто называет эту ОС хламом. А как всегда не правы обе стороны ибо каждая из них судит субъективно исходя из своих предпочтений..
|
|

23.04.2019, 14:03
|
 |
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Одно дело у вас сайт на PHP, т. е. логика сайта на PHP, и с этим всё в порядке! Другое дело, зачем вам лавины неуправляемого HTML, если вы пишите приложение. Это же намного сложней! Почему там на сервере нужно составить HTML, а затем на клиенте при помощи jQuery что-то пытаться менять? Почему тогда сразу на PHP не написать так как нужно? Это будет правильно, я не против такого, поскольку логика приложения описывается в одном месте! В таком случае вам не нужно никуда направлять лавины HTML!
Другое дело, если вы пишете приложение(а те варианты были рассмотрены именно с такой точки зрения), то зачем вам неуправляемый HTML? Однако если именно он вам нужен, то может это вы пишете всё-таки не приложение, а сайт? Тогда вам нужно решение стороны сервера, чтобы логика была в одном месте! (А не начала размазываться по двум сторонам!) Все-таки если это приложение, то вам нужно производить работу над данными, и неуправляемая лавина HTML плохо для этого подходит! Это не воспалённый бред, если вы работаете со структурированными данными. Вот простой определитель, что вы делаете правильно! Если вы написали на сервере такое производство ответов что он может быть легко обработан независимо от языка клиента, то это правильное решение!
Сообщение от laimas
|
Это напоминает спор
|
Это скорей непонимание того, что сайт не является приложением! (Представьте PS в котором на каждое действие программа перезагружается!)
Сообщение от laimas
|
спор с одной стороны упоротых линуксоидов доказывающих, что их любимая ОС есть лучшее, что сотворил человек, а с другой тех кто называет эту ОС хламом
|
Линуксоиды правы, ведь оно стабильно работает, уиндозоводы просто так неприлично завидуют, ведь консоль в уиндозе это особенный ужас!! Тут на форуме уиндовозы часами устанавливают node.js lavarel и ещё что-то полдня. Это точно уиндовозы, поскольку командная строка Mac OS на 99.9% такая же, как и в любом дистрибутиве Linux. bash является оболочкой по умолчанию, и вы можете компилировать все те же программы и утилиты. Там нет заметной разницы. Я, например, вместо bash использую zsh, поскольку для него есть oh-my-zsh с кучей тем! Да, работа с консолью может быть приятной и удобной!
Сейчас я использую тему spaceshift zsh
Последний раз редактировалось Malleys, 23.04.2019 в 14:12.
|
|
|
|