![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| ochnev |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Я полный чайник в AJAX. Прошу совета, - ссылку на краткий туториал или на пример. Изучать полностью AJAX пока нет времени.
Нужно сделать так, чтобы по клику по ссылке обновлялась область на странице, и там появлялись некие нетривиальные данные, отдаваемые с сервера. Более развёрнутый вопрос: На странице список таблиц с данными. Грузятся они долго. Хочу вместо них сделать список ссылок. При клике на ссылку обновляется область под той ссылкой. В той области подгружаются соответствующие данные с сервера (показывается соответствующая таблица с данными). Кликаем по другой ссылке - под ней подгружаются другие данные. Как такое сделать? P.S.: Интранет-сайт сделан на Java (JSP, servlets). Возможно, есть какая-то простая в использовании библиотека AJAX-тэгов. |
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
послушайте, что за вопросы с другого конца? почему по клику? какая разница как? для вас сначала надо просто реализовать сам скрипт аякса. вы нашли какой-нибудь?
если нет, то вот простейший и без всяких наворотов:
по клику осталось написать всего лишь:
|
||||
|
|||||
| ochnev |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
bars80080,
Спасибо. Есть вопросы по скрипту: 1) Зачем нужно делать ссылки уникальными (с этим параметром "dpar")? Это специфика PHP? 2) В следующей строке:
почему именно пустая строка передаётся в send()? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
1. чтобы страницы не кэшировались браузером, а то вроде даже при полном обновлении страницы, ссылки остаются те же и при вторичном запросе пользователь не увиден реальные данные (пхп тут не причём, и это надо делать либо на сервере /проще/, либо хотя бы средства js давать случайное число)
2. передача идёт get-запроса, все данные итак уже в адресе, поэтому дополняем пустой строкой функцию посылки |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
bars80080,
var dpar = '<? echo time(); ?>'; -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
да, именно так. но если даже он нажмёт ctrl+f5, то без этого параметра ссылки всё равно вернут закэшированное содержание. т.е. он нужен исключительно ради нормальной работы браузера
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 48 Всего: 386 |
bars80080, Ну ладно, вот , к примеру php породил var dpar =1234567; Юзер пару раз выполнил без презагрузки страницы ajax_s('wanadrink'). Во второй раз функция породит запрос по совершенно такому-же адресу
Лучше писать что-то вроде var dpar =Math.rand;, а можно пользоваться не 'GET', а 'POST' в этом случае все адекватные броузеры вывод не кешируют и пляски с бубном вокруг урля становятся ненужными. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
ksnk, .rand(), .seconds() это конечно интересно, но я стараюсь на действия js отдавать меньше.
во-первых, мне не нужно, что бы каждый раз оно возвращало результат, здесь я юзал аякс для еженедельно обновляемых данных, а иногда и ежедневно. пусть кэширует во-вторых, мне надо, чтобы если уж пользовательно принудительно решился обновиться через ctrl+f5, то пусть уж обновляются и эти ссылки. чего не происходит, если не указывать доп.параметр в-третьих, что касается адекватных браузеров и метода POST, то как следует из фразы, существет возможность наличия неадекватных браузеров. зачем мне лишние приключения итог: такая конструкция делает со 100% вероятностью именно то, что мне нужно. |
|||
|
||||
| Nigel |
|
|||
|
познаю мир ![]() ![]() Профиль Группа: Участник Сообщений: 515 Регистрация: 20.11.2007 Репутация: 1 Всего: 19 |
bars80080, тебе о другом говорят. То что кэшироваться будет. Если тебе это подходит, то здорово, но не всегда оно бывает нужным
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
Nigel, а я объясняю, что мне надо чтобы кэшировалось, но при этом полностью отвечало настройке браузера.
понятное дело, что каждый заказывает ту музыку, которая ему нужна или нравится. данным способом выставления доп.параметра, я возвращаю браузер в режим нормальной работы, когда комбинация ctrl+f5 (третий раз уже её повторяю) начинает действовать как надо на пространстве всей страницы. то есть я предлагаю стандартный вариант, который следует использовать по умолчанию. а вот если тебе уже надо полностью кэшировать или никогда не кэшировать, то твоя воля. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |