Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.12.2019, 16:17
ef1 ef1 вне форума
Интересующийся
Отправить личное сообщение для ef1 Посмотреть профиль Найти все сообщения от ef1
 
Регистрация: 07.07.2017
Сообщений: 19

)) ну да очевидно не там проверяю )) а где проверять то? в какую переменную эти значения улетают? (может и get не нужен, я просто не знаю и пробую так и так)
ps
сейчас эта панель у меня на (https://cadmarket.ru/programmnoe_obespechenie/ и там чтобы засунуть параметры в url я использовал библиотеку jquery (гдето скачал)) просто хочу переписать компонент попроще - избавиться от двух кликов - но этот href из модального окна не срабатывает напрямую, а через XMLHttpRequest улетает неизвестно куда )))

Последний раз редактировалось ef1, 30.12.2019 в 16:30.
Ответить с цитированием
  #12 (permalink)  
Старый 30.12.2019, 16:27
ef1 ef1 вне форума
Интересующийся
Отправить личное сообщение для ef1 Посмотреть профиль Найти все сообщения от ef1
 
Регистрация: 07.07.2017
Сообщений: 19

...
Ответить с цитированием
  #13 (permalink)  
Старый 30.12.2019, 16:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ef1
а где проверять то?
На сервере конечно. Он естественно не это получает - Request URL: *url] http://localhost/uikit/panel/?byName=name [/url*, и ВВ-код, это ваша вставка. А что стоит за этим url, это трудно сказать. Если это непосредственная страница с РНР кодом, значит на ней обрабатывается $_GET массив, его там и можно проанализировать. Если работает роутер, перенаправляя в контроллер, то контроллер будет получать все запроса от класса его обрабатывающего, значит в нем или в методе класса нужно смотреть.
Ответить с цитированием
  #14 (permalink)  
Старый 30.12.2019, 18:36
ef1 ef1 вне форума
Интересующийся
Отправить личное сообщение для ef1 Посмотреть профиль Найти все сообщения от ef1
 
Регистрация: 07.07.2017
Сообщений: 19

решилость так
вместо отправки get через XMLHttpRequest
отправил его через window.location.search
(https://www.yandex.ru/turbo?text=htt...avascript.html)
util.on(svPanels, 'click', function(event){ //событие по клику на панели 
    var aIndex=-1; //индекс элемента активной панели
    if (event.target.tagName=='A'){
    //  util.trigger(event, sendGet(event.target.search));   //передать get значение в php самому себе 
      window.location.search = event.target.search; //window.location.search = "?byName=timestanp_x";
//      util.addClass(svPanel, 'uk-overlay-primary'); //затемнить панель
      aIndex = util.index(event.target.parentNode);
    }

и оно ушло!!! в url и попало в $_GET массив на текущей странице
Код:
http://localhost/panel/?byName=timestanp_x
к сожалению не знаю что за функция такая и можно ли ее здесь применять
...
эта функция (window.location.search) возвращает арес из модального окна в основное?

Последний раз редактировалось ef1, 30.12.2019 в 19:07.
Ответить с цитированием
  #15 (permalink)  
Старый 30.12.2019, 19:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ef1
вместо отправки get через XMLHttpRequest
отправил его через window.location.search
и оно ушло
Оно и при отправке XMLHttpRequest уходит, при этом если здесь

document.getElementById("output").innerHTML=reques t.responseText;

ничего нет, то сервер просто забил на ваш запрос, а причиной могут быть заголовки и прочее. Но при отправлении XMLHttpRequest страница не перегружается, а без него будет перезагружена, а это большая разница.
Ответить с цитированием
  #16 (permalink)  
Старый 30.12.2019, 20:01
ef1 ef1 вне форума
Интересующийся
Отправить личное сообщение для ef1 Посмотреть профиль Найти все сообщения от ef1
 
Регистрация: 07.07.2017
Сообщений: 19

Профессор спасибо большое!!!! за комментарии ))
(к слову request.responseText в моем случае возврашает всю страницу но с пустым $_GET)
function sendGet(body){
  var xhr = new XMLHttpRequest();
  xhr.open('GET', body, false);
    xhr.setRequestHeader("Content-Type", "text/xml");
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4) {
            if (xhr.status == 200) {
                var data = xhr.responseText;
				console.log(data);

//				var jsonResponse = JSON.parse(data);
//				console.log(jsonResponse["Data"]);
            }
        }
    };
    xhr.send(null);
 }

...


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

ps
впрочем у меня еще мало опыта
pps
кстати и
window.location.href=event.target.href
тоже работает и перезгужает страницу

на этом этапе наверно все - закрываем тему

ВСЕХ С НАСТУПАЮЩИМ!!!!!!!!!!!!!!!!!!!!
Ответить с цитированием
  #17 (permalink)  
Старый 30.12.2019, 20:48
ef1 ef1 вне форума
Интересующийся
Отправить личное сообщение для ef1 Посмотреть профиль Найти все сообщения от ef1
 
Регистрация: 07.07.2017
Сообщений: 19

off
в общем такое впечатление что модальное окно (блокирует основное) содержащее ссылку href отправляет get в это самое модальное окно
и нужно (наверно)
запомнить href из модального окна, и после его закрытия, находясь уже в основном окне
например
1.выполнить get запрос через XMLHttpRequest (по сохраненным href)
или
2 создать налету невидимый <a href, запустить по нему click, и потом уничтожить этот <a href

но по п1. не знаю как это сделать, а по п.2 это наверно извращение
Ответить с цитированием
  #18 (permalink)  
Старый 30.12.2019, 21:31
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от ef1
к слову request.responseText в моем случае возврашает всю страницу но с пустым $_GET
Все верно ибо в этом ваша и ошибка, думали что стоит прикрутить XMLHttpRequest на клиенте, а остальное само сделается?

Пользователь эту страницу также запрашивает методом GET и если сервер не анализирует как и что запрашивается, то он возвращает страницу, поэтому вы и видите весь html код ее в ответе. А чтобы видеть только ответ на запрос сделанный через XMLHttpRequest, север должен проанализировать это событие и делать это он должен до любого вывода в браузер, после чего завершить работу, чтобы дальнейшее не попадало в ответ (остальной код страницы). То есть, к примеру, ваша страница начинается:

<!DOCTYPE HTML>
<html>
.... и т.д.

то для анализа запроса XMLHttpRequest и ответа на него структура страницы должна быть такой:

<?php
здесь проверка на получение GET запроса от XMLHttpRequest
если есть, то анализ параметров, операции, ответ и обязательный
exit;
?>
<!DOCTYPE HTML>
<html>
.... и т.д.

Сообщение от ef1
нужно (наверно) запомнить href из модального окна, и после его закрытия, находясь уже в основном окне
Бьюсь об заклад, что нет у вас никакого модального окна, а обычный слой с приблудами, так что говорить о "после закрытия модального окна, находясь уже в основном окне...", это смешно. Оно у вас и так только одно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запустить выполнение слайдера в модальном окне, только после вызова окна? Lefseq Общие вопросы Javascript 1 20.12.2019 15:23
Таймер срабатывает раньше времени или вообще не срабатывает Terebonko Элементы интерфейса 6 03.08.2017 12:43
FancyBox: Размер модального окна больше размеров окна браузера (высота), как сделать? clgs Events/DOM/Window 3 22.01.2015 17:13
Не срабатывает событие open для диалогового окна jquery-ui mihail_p AJAX и COMET 4 19.06.2013 22:23
Плавное открытие окна. Flashton Элементы интерфейса 3 20.10.2010 16:00