Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.03.2013, 15:19
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

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

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

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

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

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

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

Последний раз редактировалось l-liava-l, 05.03.2013 в 15:25.
Ответить с цитированием
  #2 (permalink)  
Старый 05.03.2013, 15:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А зачем грузить страницу полностью? изменяется же только часть? Вот и грузи эту часть, это же так просто!
Ответить с цитированием
  #3 (permalink)  
Старый 05.03.2013, 15:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от l-liava-l
странная реализация ajax
Она не странная, она криворукая! Кстати, адресная строка меняется при переходах?
Ответить с цитированием
  #4 (permalink)  
Старый 05.03.2013, 16:07
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

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

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

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

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

Цитата:
Она не странная, она криворукая! Кстати, адресная строка меняется при переходах?
я эксперементирую, ругай меня полностью, да
__________________
Научу себя плохому
Ответить с цитированием
  #5 (permalink)  
Старый 05.03.2013, 16:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

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

?? Кроме того, что мешает обернуть ответ в json и передать помимо контента, другие блоки, те что реально изменились.
Ответить с цитированием
  #6 (permalink)  
Старый 05.03.2013, 19:15
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Не вижу ответа на последний вопрос.
Цитата:
да
Цитата:
?? Кроме того, что мешает обернуть ответ в json и передать помимо контента, другие блоки, те что реально изменились.
Цитата:
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
    //include ('header.php');
    include ('body.php');
    //include ('footer.php');
}

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

поднатаскаю пыху а то что то тупой я
__________________
Научу себя плохому

Последний раз редактировалось l-liava-l, 05.03.2013 в 20:38.
Ответить с цитированием
  #7 (permalink)  
Старый 06.03.2013, 02:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

l-liava-l,
В принципе можно грузить страницу не в реальный дом
А в новосозданный тег и там парсить
var wrapper = document.createElement('div')
wrapper.innerHTML = AjaxHTML;
Ответить с цитированием
  #8 (permalink)  
Старый 06.03.2013, 11:55
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
l-liava-l,
В принципе можно грузить страницу не в реальный дом
А в новосозданный тег и там парсить
var wrapper = document.createElement('div')
wrapper.innerHTML = AjaxHTML;
не поисковики возникать будут, у меня задача больше с пыхой была
__________________
Научу себя плохому
Ответить с цитированием
  #9 (permalink)  
Старый 07.03.2013, 01:37
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Сообщение от danik.js
Вот и грузи эту часть, это же так просто!
зачем грузить целую часть? изменяются же только данные в шаблоне! грузи только данные)! а шаблоны все подгружай и кэшируй в index.html ну
Ответить с цитированием
  #10 (permalink)  
Старый 07.03.2013, 11:51
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек ajax запросов Vincent AJAX и COMET 6 04.03.2013 15:08
Странная обработка события в элементе ajax grecha jQuery 16 10.02.2013 14:37
Реализация кэширования AJAX как в IE Gasheck AJAX и COMET 0 26.02.2012 22:26
Ajax таблица gofkane Работа 1 26.09.2011 18:26
Ajax таблица gofkane Работа 0 25.09.2011 11:53