Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
1

Разбор кода (GET-запрос)

15.11.2016, 12:24. Показов 1257. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! У меня есть кнопка при нажатии на которую происходит переадресация на страницу с GET-запросом (допустим 1.php?error=true).
Мне нужно в js создать обработчик гет-запроса но в js я не работал. Нашел код но не могу в нем разобратся:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var tmp = new Array();      // два вспомагательных
var tmp2 = new Array();     // массива
var param = new Array();
 
var get = location.search;  // строка GET запроса
if(get != '') {
    tmp = (get.substr(1)).split('&');   // разделяем переменные
    for(var i=0; i < tmp.length; i++) {
        tmp2 = tmp[i].split('=');       // массив param будет содержать
        param[tmp2[0]] = tmp2[1];       // пары ключ(имя переменной)->значение
    }
    var obj = document.getElementById('greq');  // вывод на экран
    for (var key in param) {
        obj.innerHTML += key+" = "+param[key]+"";
    }
}
помогите! Мне нужно чтобы при гет-запросе выводился блок:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
            function(){ // после выполнения предъидущей анимации
                $('#modal_form') 
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay').fadeOut(400); // скрываем подложку
                }
            );
    });
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2016, 12:24
Ответы с готовыми решениями:

Разбор кода
$('form').submit(function(e) { return false; }); $('#button-1').timedDisable(10000); ...

Разбор сложного кода, как он работает
Всем привет! Я .NET программист, но сейчас судьба заставила парсить сайт со списком прокси серверов...

Разбор кода
Доброго времени суток, уважаемые форумчане. Возникла такая проблема. Нужно откомпилировать одну...

Разбор кода
Добрый день! Есть кусок кода, который отрабатывает корректно: for /f &quot;tokens=3 delims=&gt;&lt; &quot; %%n...

16
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 12:35 2
Ниче не понял. Вам нужно, чтобы при отправке запроса исполнялся второй блок кода? Так запускайте его на исполнение в момент отправки запроса.
0
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
15.11.2016, 13:19  [ТС] 3
Balanaar, У меня есть кнопка с php-кодом:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if(isset($_POST["enter"])){
       $e_login = $_POST["e_login"];
       $key = "FxDG54";
       $e_password = md5($_POST["e_password"].$key);
       $query = mysql_query("SELECT * FROM wp_auth WHERE email='$e_login' ");         
       $user_data = mysql_fetch_array($query);
       
       if(($user_data["email"] == $e_login)&&($user_data["pass"] == $e_password)) {
           session_start();
           $_SESSION['Rol'] = $user_data["roll"];
           $_SESSION['uname'] = $user_data["uname"];
           $_SESSION['sname'] = $user_data["sname"];
           $_SESSION['email'] = $user_data["email"];
           $_SESSION['pass'] = $user_data["pass"];
           
           header ('Location:/');
       }
       else {
           header ('Location:/sign-in-to-your-account/?error_log_pass=1');         
       }       
   }
после нажатия нужен js-скрипт для вывода блока если есть гет ?error_log_pass=1
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 13:27 4
Кнопка с php-кодом?
Ладно... пропустим мимо ушей (глаз).
Использование js принципиально? Просто зачем городить что-то на js, если у вас вот прямо перед глазами есть серверная обработка, где можно сделать всё, что вы хотите (ну почти всё)
0
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
15.11.2016, 13:39  [ТС] 5
Balanaar, ладно, попробуем по другому... Я хочу чтобы когда в адресной строке появляется определенный гет, выводилось сообщение об соответственной ошибке. Мне сказали что сообщение выводится только с помощью js Вот я и пытаюсь совместить. обычным echo у меня ничего не вышло.
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 14:08 6
Ну например так:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    if(location.search.indexOf('error_log_pass=1') != -1) {
        $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
            function(){ // после выполнения предъидущей анимации
                $('#modal_form') 
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay').fadeOut(400); // скрываем подложку
                }
            );
    });
}
0
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
15.11.2016, 15:03  [ТС] 7
Balanaar, не работает!

Добавлено через 19 секунд
блок не выводится
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 15:21 8
location.search в консоль выведите перед условием. Что отобразится?
0
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
15.11.2016, 19:24  [ТС] 9
Balanaar, вот так?
Миниатюры
Разбор кода (GET-запрос)  
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 19:32 10
Да, вот так. Тут проблем нет. Идем дальше.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(location.search.indexOf('error_log_pass=1') != -1) {
console.log('Анимируем');
        $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
            function(){ // после выполнения предъидущей анимации
                $('#modal_form') 
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay').fadeOut(400); // скрываем подложку
                }
            );
    });
}
Вот с этим кодом попробуйте вызвать блок и проверьте консоль. Если сообщение "Анимируем" выводится, то проблема в вашем коде анимации.

Добавлено через 2 минуты
А вообще не надо... Судя по консоли у вас на 31ой строке синтаксическая ошибка, а на 61ой - какая-то другая

Добавлено через 40 секунд
у объекта jQuery нет метода limit()
0
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
15.11.2016, 19:54  [ТС] 11
Цитата Сообщение от Balanaar Посмотреть сообщение
Судя по консоли у вас на 31ой строке синтаксическая ошибка
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script type="text/javascript">
$(document).ready(function() { // вся магия после загрузки страницы
     if(location.search.indexOf('error_log_pass=1')){
        event.preventDefault(); // выключаем стандартную роль элемента
        $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
            function(){ // после выполнения предъидущей анимации
                $('#modal_form') 
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay').fadeOut(400); // скрываем подложку
                }
            );
    });
});
может кавычек каких не хватает?
Цитата Сообщение от Balanaar Посмотреть сообщение
на 61ой - какая-то другая
Это старая проблема так ее и не смог решить, по-ходу вордпресс не поддерживает limit(). Библиотеку подключил а результат не выводится
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 20:13 12
Цитата Сообщение от Shoshona Посмотреть сообщение
может кавычек каких не хватает?
Для начала линканите весь код. Я понятия не имею, где у вас 31ая строка, а считать все ваши кавычки не входит в мои планы на вечер.
Цитата Сообщение от Shoshona Посмотреть сообщение
по-ходу вордпресс не поддерживает limit()
В jQuery в принципе нет метода limit() насколько мне известно. Движок здесь вообще ни при чем.
0
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
15.11.2016, 20:18  [ТС] 13
вот
Миниатюры
Разбор кода (GET-запрос)  
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 20:29 14
Лучший ответ Сообщение было отмечено Shoshona как решение

Решение

Знатно намудрили со скобками
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$(document).ready(function() { // вся магия после загрузки страницы
     if(location.search.indexOf('error_log_pass=1')){
        event.preventDefault(); // выключаем стандартную роль элемента
        $('#overlay').fadeIn(400, // сначала плавно показываем темную подложку
            function(){ // после выполнения предъидущей анимации
                $('#modal_form') 
                    .css('display', 'block') // убираем у модального окна display: none;
                    .animate({opacity: 1, top: '50%'}, 200); // плавно прибавляем прозрачность одновременно со съезжанием вниз
        });
    /* Закрытие модального окна, тут делаем то же самое но в обратном порядке */
    $('#modal_close, #overlay').click( function(){ // ловим клик по крестику или подложке
        $('#modal_form')
            .animate({opacity: 0, top: '45%'}, 200,  // плавно меняем прозрачность на 0 и одновременно двигаем окно вверх
                function(){ // после анимации
                    $(this).css('display', 'none'); // делаем ему display: none;
                    $('#overlay').fadeOut(400); // скрываем подложку
                }
            );
    });
}
});
1
30 / 30 / 37
Регистрация: 03.06.2014
Сообщений: 1,054
15.11.2016, 21:20  [ТС] 15
Balanaar, хух.. заработало! Спасибо огромное!

Добавлено через 2 минуты
вот только теперь выводит сообщение даже на чистый адрес!
0
Эксперт JS
2454 / 1761 / 624
Регистрация: 11.07.2016
Сообщений: 4,051
15.11.2016, 22:08 16
Это потому что кто-то с условием игрался:
Javascript
1
if(location.search.indexOf('error_log_pass=1') != -1){
1
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
16.11.2016, 00:39 17
Цитата Сообщение от Shoshona Посмотреть сообщение
обычным echo у меня ничего не вышло.
а в чем проблема
PHP
1
2
3
4
5
6
7
8
switch ($_GET['error']){
    case'1':
        echo 'error-1';
        break;
    case '2':
        echo 'error-2';
        break;
}
0
16.11.2016, 00:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2016, 00:39
Помогаю со студенческими работами здесь

Разбор кода
Привет, пытаюсь разобрать вот такой кусок кода: cmp cx,osnout*osnout*osnout*osnout jb l2 sub...

Разбор кода C++
Объясните пожалуйста как работает этот код. Особенно строки 10-12 и 18. int transf() { int...

Разбор кода
Есть такой код. #include&lt;vcl.h&gt; #pragma hdrstop #pragma argsused #include &lt;dos.h&gt; #include...

Разбор кода
Доброго времени суток, уважаемые форумчане. Возникла такая проблема: Необходимо разобрать работу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru