[JQuery/Ajax] GET-запросы

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

GM`ka

Ненадежный

GM`ka

Ненадежный
13 Сен 2015
294
157
Метод jQuery $.get() предоставляет легкий и удобный способ сделать простой запрос AJAX.

jQuery.get( url, [data], [callback] ) – загружает страницу, используя GET-запрос. Это самый простой способ передачи GET-запроса серверу.

Выполнение запроса, без получения ответа сервера:
Код:
$.get("server.php");
С выводом результатов запроса в alert():
Код:
$.get("server.php", function(data){
  alert("Данные загружены: " + data);
});
Запрос с передачей параметров:
Код:
$.get("server.php", { name: "Vasya", age: "27" }, function(data){
  alert("Данные загружены: " + data);
});
Чтобы передать HTML-форму, нужно вторым параметром передавать её сериализацию id_form.serialize().
Пример
HTML форма
HTML:
<form action='proceed.php' method='POST' id='test_form'>
<fieldset>
<legend>Test From</legend>
<label for=name>Name:</label><input type='text' id='name' name='name' value=''>
<label for=email>Email:</label><input type='text' id='email' name='email' value=''>
<input type='submit' value='Send'>
</fieldset>
</form>
Javascript скрипт обработки формы
Пусть при нажатии на кнопку Enter в любом из полей (сработает событие формы Submit), или при нажатии на кнопку Send в форме, без перезагрузки страницы введенные пользователем данные отправились на сервер. Напишем небольшой кусочек кода на Jquery:

PHP:
$(function(){
$('#test_form').submit(function(e){
//отменяем стандартное действие при отправке формы
e.preventDefault();
//берем из формы метод передачи данных
var m_method=$(this).attr('method');
//получаем адрес скрипта на сервере, куда нужно отправить форму
var m_action=$(this).attr('action');
//получаем данные, введенные пользователем в формате input1=value1&input2=value2...,
//то есть в стандартном формате передачи данных формы
var m_data=$(this).serialize();
$.ajax({
type: m_method,
url: m_action,
data: m_data,
success: function(result){
$('#test_form').html(result);
}
});
});
});
Вот и все, клиентская часть закончена. В самом начале мы привязываем на событие формы Submit собственную функцию, затем запрещаем стандартное действие формы, для того, чтобы страница не перезагружалась, затем получаем адрес скрипта для обработки данных, и метод передачи данных (GET или POST) и сами данные, с помощью встроенной функции serialize, которая перебирает все поля формы, и составляет из них строку в формате имя_поля=значение&имя_поля2=значение2 и т.д. и отправляем все данные при помощи Ajax. После того, как клиентская часть получит ответ от сервера, заменяем все внутренности формы на результат полученный от серверной части.

PHP часть обработки формы
ограничимся минимальным скриптом proceed.php

PHP:
<?php
print_r($_GET);
print_r($_POST);
?>
Пример простейший. Хотя в нем можно, к примеру, убрать возможность отправки формы ботами.
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя