[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как с помощью js изменить адресную строку?
zvezda_t
Всем привет.

У меня на странице выводиться табличка с данными.
Причем, если в таблице > 10 строк включается пагинация.
Например, если выбрать третью страничку, то в браузере будет адрресная строка:
http://mysite.ru/tab/page/20

где, 20 - порядковый номер выводимой строки.
Всё хорошо.

Далее у меня на страничке есть кнопочка - "Обновить табличку"
Табличка обновляется с помощью ajax метода.

Если у меня на момент нажатия на кнопку "Обновить табличку", в адресной строке была запись: http://mysite.ru/tab/page/20
то есть была открыта 3-я страница, то:
После выполнения ajax метода - табличка обновляется, страница естественно становиться первой, но в адресной строке по прежнему остается запись:
http://mysite.ru/tab/page/20#

Что делать? Как после ajax запроса подкорректировать адресную строку?



_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
window.history.pushState(data, title [, url])
http://habrahabr.ru/post/123106/
FatCat
Цитата (zvezda_t @ 18.04.2014 - 15:04)
После выполнения ajax метода - табличка обновляется, страница естественно становиться первой

Как раз не естественно. Нажимая "обновить" на 3-й странице, посетитель ожидает видеть обновленнные данные 3-й страницы, а не переброса на первую.

Например, ты на третьей странице темы на форуме. При нажатии F5 тебя же не вышвыривает на первую страницу.

_____________
Бесплатному сыру в дырки не заглядывают...
Invis1ble
Цитата (FatCat @ 18.04.2014 - 16:36)
Цитата (zvezda_t @ 18.04.2014 - 15:04)
После выполнения ajax метода - табличка обновляется, страница естественно становиться первой

Как раз не естественно. Нажимая "обновить" на 3-й странице, посетитель ожидает видеть обновленнные данные 3-й страницы, а не переброса на первую.

Например, ты на третьей странице темы на форуме. При нажатии F5 тебя же не вышвыривает на первую страницу.
zvezda_t
FatCat
нет ты не совсем понял мой случай. Это же просто страницы с частью строк таблицы.
Например: если у меня в таблице 30 строк, то получу три страницы:
1) строки с первой по 10
2) строки с 11 по 20
3) строки с 21 по 30

Если до момента обновления я находилась на странице второй и просматривала строки с 11 по 20.
То есть адресная строка имеет вид: http://mysite.ru/tab/page/10
А после обновления у меня в таблице оказалось всего 8 строк, то в этом случае я их вообще не увижу, потому что адресная строка вида http://mysite.ru/tab/page/10 отправляет на не существующую страницу. И как быть?

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
bestxp
Отправлять номер страницы или порядка вместе с запросом wink.gif
sergeiss
Цитата (zvezda_t @ 21.04.2014 - 07:44)
А после обновления у меня в таблице оказалось всего 8 строк, то в этом случае я их вообще не увижу, потому что адресная строка вида http://mysite.ru/tab/page/10 отправляет на не существующую страницу. И как быть?

Ты должна это предусмотреть в запросе к БД или при анализе полученных данных. Если идет запрос 3-й страницы, а данных всего на одну неполную страницу, то тогда надо выдать те данные, что есть, и поменять адресную строку соответствующим образом. Тогда не будет того дисбаланса, о котором ФатКат говорил.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
zvezda_t
Цитата
поменять адресную строку

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


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Игорь_Vasinsky
упс

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
Цитата (zvezda_t @ 22.04.2014 - 07:25)
так я о том и спрашиваю. Возможно ли поменять адресную строку, если я данные обновляю через ajax?
Если я изменю адресную строку - у меня вся страница обновиться?

То есть, те ссылки, что тебе дали уже несколько дней назад, ты даже не читала? А зачем тогда было спрашивать, зачем тебе люди отвечали, если ты все равно не читаешь ответы? И какой интерес тебе отвечать, если ты не читаешь ответы?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
zvezda_t
sergeiss, читаю конечно!!! ты что!
Буду пробовать сделать, как посоветовал killer8080.
Просто раз Вы спрашиваете, я хотела убедиться что меня правильно поняли. А то может я что -то не так спросила и это вообще не возможно сделать....
Теперь убедилась - что вы меня поняли и то что я хочу - это возможно.user posted image

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
zvezda_t
Благодарю за инфу! Это именно то, что было нужно!
Получилось! smile.gif

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
zvezda_t
У меня в IE скрипт не заработал.
Скажите, пожалуйста, можно ли как то проверку поддерживается ли метод, перед вызовом метода делать?
И вызывать метод только если поддерживается?

_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
killer8080
Цитата (zvezda_t @ 23.04.2014 - 15:36)
можно ли как то проверку поддерживается ли метод, перед вызовом метода делать?

window.history && window.history.pushState && window.history.pushState(...)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.