Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   странная реализация ajax (https://javascript.ru/forum/offtopic/36153-strannaya-realizaciya-ajax.html)

l-liava-l 05.03.2013 15:19

странная реализация ajax
 
Доброго времени суток!

Отошел от дня рождения, сел за работу.
И сделал немного странную штуку, теперь думаю можно так или нет.

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

Как реализовал ajax:
При клике по ссылке перехватываю href и подгружаю в область контента страничку полностью, забираю весь контент из определенного блока на подгруженной страничке и заменяю им всю подгруженную страничку. (Своего рода чистка)

Из плюсов заметил:
меньше гемора для меня)
страничка которую видит пользователь не обновляется.
индексация проходит без проблем
легко добавить в избранное/гулять по истории

минусы:
немного дольше загружается в первый раз(но анимашки и кэширование решают все проблемы)
Возможно вы меня побьете

danik.js 05.03.2013 15:38

А зачем грузить страницу полностью? изменяется же только часть? Вот и грузи эту часть, это же так просто!

danik.js 05.03.2013 15:39

Цитата:

Сообщение от l-liava-l
странная реализация ajax

Она не странная, она криворукая! Кстати, адресная строка меняется при переходах?

l-liava-l 05.03.2013 16:07

Цитата:

А зачем грузить страницу полностью? изменяется же только часть? Вот и грузи эту часть, это же так просто!
Ты не понял, можно конечно перехватывать и реплэсить href на маленький контент, но там возникают косяки с php каталогом, который получает все данные из адресной строки, без костылей не обойтись.

Опять же будет не удобно разделять сайт на модули, не удобно менять контент, придется 2 раза для каждой странички, а если их 50?

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

А так просто скажет что я плохой кодер и удалит скрипт размером 1 кб

Цитата:

Она не странная, она криворукая! Кстати, адресная строка меняется при переходах?
я эксперементирую, ругай меня полностью, да

danik.js 05.03.2013 16:35

Не вижу ответа на последний вопрос.
Что мешает сделать в контроллере проверку типа
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    //include ('header.php');
    include ('body.php');
    //include ('footer.php');
}

?? Кроме того, что мешает обернуть ответ в json и передать помимо контента, другие блоки, те что реально изменились.

l-liava-l 05.03.2013 19:15

Цитата:

Не вижу ответа на последний вопрос.
Цитата:

да
Цитата:

?? Кроме того, что мешает обернуть ответ в json и передать помимо контента, другие блоки, те что реально изменились.
Цитата:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    //include ('header.php');
    include ('body.php');
    //include ('footer.php');
}


благодарю! теперь врубился

поднатаскаю пыху а то что то тупой я

Deff 06.03.2013 02:38

l-liava-l,
В принципе можно грузить страницу не в реальный дом
А в новосозданный тег и там парсить
var wrapper = document.createElement('div')
wrapper.innerHTML = AjaxHTML;

l-liava-l 06.03.2013 11:55

Цитата:

l-liava-l,
В принципе можно грузить страницу не в реальный дом
А в новосозданный тег и там парсить
var wrapper = document.createElement('div')
wrapper.innerHTML = AjaxHTML;
не поисковики возникать будут, у меня задача больше с пыхой была

megaupload 07.03.2013 01:37

Цитата:

Сообщение от danik.js
Вот и грузи эту часть, это же так просто!

зачем грузить целую часть? изменяются же только данные в шаблоне! грузи только данные)! а шаблоны все подгружай и кэшируй в index.html ну

l-liava-l 07.03.2013 11:51

Цитата:

зачем грузить целую часть? изменяются же только данные в шаблоне! грузи только данные)! а шаблоны все подгружай и кэшируй в index.html ну
он это и имел ввиду... часть данных


Часовой пояс GMT +3, время: 18:01.