1 Востаннє редагувалося savelikan (10.01.2015 16:26:23)

Тема: Перенаправлення

Привіт усім!
Через аjax відправляю запит і одержую відповіть у форматі:

error|||Повідомлення занадто коротке. Повідомлення повинне містити мінімум 3 символи.

або

true|||http://site.ua/forum/t-1.html?page=25

І якщо true тоді:

if(part_result[0]==\'error\'){
    document.getElementById("post_error_div").innerHTML = part_result[1];
    $("#post_error_div").show(700);
} else {
    [b]window.location.replace(part_result[1]);[/b]
}

так от, якщо я в посилання кидаю # (наприклад t-1.html?page=25#post25) - тоді виникає помилка. Чи не могли б Ви підказати, як це виправити?

Пробував змінити на window.location.href = ""
Але тоді якщо та ж адреса. що і зараз - воно не переадресовує =(

2

Re: Перенаправлення

емммммм... то немає вирішення для мого питання?

3

Re: Перенаправлення

А яка помилка виникає?

4

Re: Перенаправлення

Воно не переходить за посиланням. А якщо забрати # і все, що після неї - то працює

5 Востаннє редагувалося savelikan (12.01.2015 23:14:17)

Re: Перенаправлення

Вірніше не так
Перший раз воно таки переходить, але всі наступні рази просто ігнорує. це у FireFox
Просто виходить адреса сторінки на якій знаходишся дорівнює тій, на яку маєш перейти, за вийнятком #****

6

Re: Перенаправлення

то не переходить за посиланням чи є якась js помилка?
Браузер не реагує хеш таг після загрузки сторінки, треба Java скріптом примусово скролити до необхідного елементу, якщо в локейшн поточна сторінка.

7

Re: Перенаправлення

Тако. Є форма з додаванням нового повідомлення. Відправляє ajax запит з новим повідомленням і у відповідь одержує адресу сторінки з новим повідомленням. ВОна може бути така ж сама, якщо повідомлення буде на тій же сторінці, а може бути інша, якщо повідомлень на сторінці більше 20. Так от, коли додати повідомлення вперше, воно переходить на сторінку. Коли зробити це вдруге - воно додає повідомлення в базу даних проте не переходить, бо сторінка одна і та ж, просто # різне. МЕні потрібно примусити бравзер переходити на сторінку, або оновлювати її при необхідності

8

Re: Перенаправлення

Використовуйте повний адрес переадресації.
Наприклад

location.href = "http://vashsait.com/t-1.html?page=25#post25";

9 Востаннє редагувалося savelikan (13.01.2015 17:15:35)

Re: Перенаправлення

Така сама ситуація
Я знахожуся на сторінці http://newsite.ua/forum/t-32.html?page=1
після того, як я додаю перше повідомлення - все працює, воно перевантаує сторінку на адресу:
http://newsite.ua/forum/t-32.html?page=1#75
Якщо знову додати повідомлення - сторінка не оновлюється

10

Re: Перенаправлення

Спробуйте так

<script>
location.href = "http://vashsait.com/t-1.html?page=25&rnd="+Math.random()+"&rnd2="+Math.random()+"#post25";
</script>

11

Re: Перенаправлення

Попробуйте в ручну добавити до урл хеш таг і переконайтесь що браузер його зігнорує, бо то та сама сторінка,

Рішення з випадковим додатковим параметром хороше. Також можете спробувати щось таке:

    if (window.location.hash) {
        location.hash = window.location.hash;
    }

12 Востаннє редагувалося savelikan (13.01.2015 19:07:01)

Re: Перенаправлення

Vo_Vik написав:

Попробуйте в ручну добавити до урл хеш таг і переконайтесь що браузер його зігнорує, бо то та сама сторінка,

Рішення з випадковим додатковим параметром хороше. Також можете спробувати щось таке:

    if (window.location.hash) {
        location.hash = window.location.hash;
    }

та от в тому і проблема, що бравзер ігнорує... А як заставити його оновити сторінку незалежно від того яка сторінка?
А це випадкові числа щоб адреса сторінки відрізнялася?

13

Re: Перенаправлення

Угу, VTrim вище давав приклад