Ajax VS another_page+include

TutanXamoN

Новичок
Ajax VS another_page+include

Чисто теоретический вопрос не из серии что лучше а скорее что где стоит использовать.

Да на примере динамического селекта согласен - ушли те времена когда данные грузились в гигантские JS и в зависимости от выбранного показывались, ушли редиректы после каждого выбранного следующего пункта.
Тут и выгода: размер кода(в случае если раньше инклудилось) + удобство + меньше траффика гоняется.

Но в последнее время я видел пару сайтов в которых есть
PHP:
index.php
, а остальное подгружаеться в
PHP:
<div id=page>
в зависимости от выбранного пункта меню + на етих же подгруженных страницах опять таки дивы и аяксовые запросы.

На мой взгляд ето перебор.
Да мы можем не показывать юзеру УРЛы вида
PHP:
index.php?page=articles&art_id=2008
, но для етого есть ЧПУ.
Да юзверь не видит прогресбара браузера, но в лучшем случае после клика в етот див вставляеться строка
PHP:
Грузимся...
.
Тут лишаемся некоторых удобств:
1. Закладки - ни одна секретарша не будет 10 минут лазить по меню в поисках того что смотрела(за исключением редких случаев).
2. Поисковые машины - врядли они позитивно относятся к етому (хотя тут врать не буду - не знаю)
3. Да может ето и зависит от реализации но на мой взгляд елементарно на сабмит формы через аякс по сравнению с традиционным уходит гораздо больше кода.

Или пример из моей практики:
есть админка в ней редактирование товара по каталогам/подкаталогам (само собой динамические селекты через аякс) - и тут небольшой ступор:
Как быть когда выбран каталог и подкаталог:
PHP:
onChange="document.cat_subcat.submit();";
+
if(isset($_POST['cat'])...)
{
//few validations
include("lots.php");
}

/*или же*/

//ajax request_code

onChange="ajax_c_s(document.cat_subcat.cat.value, this.value);";

<div id=lots>
</div>
Взгляд с одной стороны:
ето админка так что поисковых машин не будет + времена веб два.ноль
Взгляд с другой стороны:
1. Как быть с логикой - так она только в пхп а так растекаеться по всему.
2. Смысл использования той или иной технологии в зависимости от обстоятельств?
 

Black Raven

Новичок
1. логика лежит на сервере в любом случае, если у тебя не супер-пупер-web-2.0 приложение, которое действительно должно работать на клиенте. (например google docs)

2. ты сам назвал эти критерии. где пользователь может захотеть букмарк - страница. там где не захочет - ajax.

3. очень многие пишут - делайте сначала версию БЕЗ ajax. потом имея логику и отлаженный код делайте ajax версию. я, как правило, делаю именно так, рассчитывая, что у человека может быть отключен js (в некоторых проектах важен каждый потенциальный клиент, независимо от его религиозных убеждений по поводу js)
 

TutanXamoN

Новичок
1. Даже в дошаблонные времена можно было сказать что логика лежит на сервере. Просто в разных местах.
2. Не уверен что такой способ есть истина во всех инстанциях.
3. сенкс - о таком подходе не слышал.
 

Фанат

oncle terrible
Команда форума
Я не знаю, с чем связан этот забавный феномен - то ли с языком программирования, то ли с возрастом программистов, но желание выбрать что-то одно и на нем остановиться меня удивляет безмерно.

Еще больше меня удивляет, что такие вопросы задают только про программирование.

Если бы рядом в оффтопе валялся пост про то, что лучше сегодня съесть на обед - макароны по-флотски или голубцы - я бы понял. Но про обед никто не спрашивает!
А про то, как делать админку - с аяксом или без - постоянно. Как будто возможен однозначный ответ.

Ты сам прекрасно перечислил все положительные и отрицательные стороны.
Ты сам в состоянии сделать выбор. Но зачем-то надо спрашивать других людей, чтобы они пересказали тебе все то же самое, что ты написал.

Там, где есть конкретные причины, которые ты указал - легко выбрать.
Там, где причин нет - глупо искать идеальный вариант. Исходить надо из конкретных задач конкретного приложения.
 

dark-demon

d(^-^)b
TutanXamoN, формы проще и универсальнее сабмитить в скрытый фрейм и по получении обрабатывать ответ.
 

TutanXamoN

Новичок
Фaнaт
С возрастом + мало опыта.
Я не говорю о том что всё можно разделить на белое и черное.
Я реально осознаю некоторые плюсы и минусы каждого из подходов, но опять таки я не могу знать и видеть всего. что-то из плюсов/минусов мне подскажут предложат кое-какие варианты.
Я не говорю что стоит останавливаться на чём-то одном но выбор человеку даёться, а готов совершить его осознанно он далеко не всегда.

Ты сам прекрасно перечислил все положительные и отрицательные стороны.
Если ето так то я безмерно щастлив и пойду дальше праздновать.
dark-demon
Сенкс за вариант.

ЗЫ Всех с НГ.
 
Сверху