Как отправить форму без перезагрузки страницы (AJAX)
Что такое AJAX
Ajax — это технология, позволяющая выполнять обработку действий пользователя без перезагрузки страницы. Иными словами, для примера, когда вы слушаете музыку в социальных сетях, вы можете переходить по страницам, но при этом музыка у вас не прерывается.
Технология Ajax стала неотъемлемой частью WEB 2.0 и в настоящий момент, успешные веб-сайты стремятся создать удобство для пользователей. Более того, технология Ajax позволяет увеличить скорость работы вашего сайта, за счет того, что пользователю для обновления некоторых элементов вашего сайта не нужно перезагружать всю страницу.
Реализация отправки формы без перезагрузки страницы
Наш демонстрационный проект будет состоять из трех файлов:
index.php — это главная страница с формой
ajax.js — это javascript файл с логикой ajax обработки формы
action_ajax_form.php — это серверная часть нашего проекта, обрабатывает данные полученные из формы и возвращает результат в формате JSON
Создадим первый файл нашего AJAX проекта под названием index. php с таким содержимым:
Мы подключили библиотеку Jquery и наш javascript файл отвечающий за взаимодействие с кнопкой отправки форми, с файлом action_ajax_form.php.
Обратите внимание, что метод отправки формы у нас POST, задан и action=»». Также после формы мы добавили div c id=result_form. Именно в этот div мы будем выводить результат обработки формы.
Также нам нужно создать второй файл — ajax.js
В файле ajax.js есть два метода: $(«#btn»).click и sendAjaxForm. Первый метод — это слушатель событий кнопки. То есть, когда мы нажимаем на кнопку Отправить, слушатель срабатывает и вызывает второй метод sendAjaxForm.
В метод sendAjaxForm(result_form, ajax_form, url) передаются поля: result_form — это div в который будут рендерится данные, ajax_form — это id формы отправки сообщения и url — это местоположение файла action_ajax_form.php который отвечает за серверную часть (обработка формы).
И третий файл под названием action_ajax_form.php
action_ajax_form.php — обработчик формы на стороне сервера. Для примера, мы делаем проверку: Если существуют переменные в POST запросе name и phonenumber, тогда мы формируем массив $result для JSON ответа от сервера. Затем, массив $result мы переводим в JSON объект, чтобы клиент ajax.js смог корректно получить данные в формате JSON.
Выводы
Как вы видите, реализовать AJAX отправку данных формы, без перезагрузки страницы очень просто. Скачать исходный код AJAX формы, вы можете по ссылке. Файлы загрузите на ваш локальный сервер или хостинг, распакуйте и сложите все файлы в один каталог сервера.
Если есть вопросы, относительно этой статьи, оставляйте свои комментарии и мы попробуем помочь разобраться, если что-то не заработает.
Читайте также
Что такое NodeJS и npm?
XAMPP — как установить и настроить на Mac (Mojave, Sierra)
Как самостоятельно изучить веб-программирование
Взломали Cкайп, что делать?
Что такое реферальный спам в Google Analytics
Постраничная ленивая загрузка (lazy load) постов
Как стать профессиональным веб-разработчиком
Методы setTimeout и setInterval в Javascript
Реализация Lazy Load на Jquery
Три полезных CSS свойства для работы с изображениями
Массивы в Javascript
Что такое TypeScript
CSS3 — Эффект вращения
Sublime Text 3 — удобный редактор кода для веб-разработчиков
Установка и настройка веб-сервера для сайта в Ubuntu
Полезные приложения для веб-разработчиков в Google Chrome
Модальное окно на Jquery
GIT команды: Быстрый старт для новичков
Что такое конструктор в объектно-ориентированном программировании
Что такое объектно-ориентированное программирование
Как быстро создать сайт и привлечь поисковый трафик
Bitbucket: Крутой облачный GIT репозиторий
Javascript: Классы в Javascript
Что такое веб-хостинг и как выбрать хостинг для сайта
SQL запросы: Основы администрирования MySQL
Команды Linux: оболочка BASH
Joomla CMS: Преимущества и недостатки
Качественный сайт: семь ключевых свойств
Все материалы с сайта wh-db. com и ru.wh-db.com защищены авторским правом. Копирование, публикация, продажа и распространение материала строго запрещены.
Please enable JavaScript to view the comments powered by Disqus.
Используем PHP, jquery, ajax и foreach для редактирования без перезагрузки страницы.
Опубликовал(а): Bumos в: 19 декабря 2017 Оставить комментарий23 комментария Перейти к комментариям
Всем привет, при разработке веб приложений происходит взаимодействие клиентской части и серверной например в работе с базой данных необходимо добавлять, редактировать или удалять записи. Зачастую все проходит по отлаженной схеме в виде GET или POST запросов. Однако есть небольшие неудобства – среди которых можно выделить основное, при отправке данных PHP скрипт возвращает ответ от сервера и это происходит на другой странице, а если это массовый ввод данных – то становится неудобно вводить данные, отсылать их в базу, получать ответ на новой странице, а затем возвращаться на страницу ввода.
Чтобы ускорить и упростить работу оператору воспользуемся динамическим добавлением данных без перезагрузки страницы с использованием инструментов ajax и jquery, а подгружать информацию будем циклом foreach php. Другими словами мы будем отправлять данные в базу с помощью ajax методов и ждать ответа от PHP о успешном выполнении запроса и отображать результат.
Происходит фоновый обмен данными между браузером и сервером и при этом веб страничка не перезагружается полностью, а лишь обновляются необходимые данные
Итак начнем:
Для начала создадим файл index.php в котором опишем стили, веб формы и механизм взаимодействия с сервером для управления данными.
Раздел HEAD здесь прописываем необходимые библиотеки jquery для обмена данными, bootstrap фрейморк для придания более представительного вида нашему приложению. Также определим некоторые стили:
На следующем этапе опишем внешний вид страницы приложения тэг body
Не забудем еще про создание модального окна добавления или редактирования данных, которое будет появляться при нажатии на кнопку “Добавить запись” и сделаем его скрытым, а вызывать его будем по нажатию кнопки Добавить запись
Ну а дальше за тэгом <script> идет логика отвечающая за отображение информации на стороне клиента, а также отправка и получение результата от сервера.
Обнуляем переменные и создаем модальное окно заново
JQuery код для обработки нажатий на клавиши при добавлении или редактировании данных.
Cледующий блок кода отвечает за обновление данных – при нажатии на кнопку Обновить
При нажатии на кнопку Удалить срабатывает этот код
C файлом index.php покончили, клиентская часть готова, настало время сделать серверную часть которая будет принимать запросы выполнять необходимые действия и отправлять ответ в клиентскую часть приложения.
Итак назовем файл action.php и впоследствии будем к нему обращаться из index.php
Создаем соединение с базой данных
Далее описываем самое основное в нашем приложении это выборка данных из базы и отправка на клиентскую часть программы, для подгрузки данных на страничку а также формирование рядом с каждой записью кнопок обновить и удалить отвечает цикл PHP foreach как он работает можете почитать описание на сайте. Следующий код записывает переданную информацию в базу данных
Обрабатываем нажатие кнопки обновить информацию следующим кодом
Удаление данных из базы происходит так:
В браузере мы видим alert(data) где в переменной data содержится код echo ‘Данные удалены’ которые мы отправили в клиентскую часть из серверной action.php
Сбор данных форм — Ajax с PHP: добавление динамического содержимого на веб-сайты Видеоруководство
Из курса: Ajax с PHP: добавление динамического контента на веб-сайты
Собрать данные формы
“
— [Рассказчик] Есть несколько способов собрать данные формы, которые мы хотим отправить в нашем Ajax-запросе.
Содержание
Скрипты Ajax и PHP
Популярность Ajax растет день ото дня. Одним из лучших примеров, используемых Google, является предложение Google. Здесь на основе ключевых слов пользователя, введенных в поле поиска, Google возвращает совпадающие ключевые слова или расширение этих слов, которые ранее искали пользователи. Ajax — короткая форма асинхронного JavaScript и XML, которую мы попытаемся изучить, изучив несколько примеров здесь. Как вы знаете, Ajax сам по себе не является языком сценариев, поэтому мы будем использовать наш сценарий PHP для программирования здесь и другие языки в других разделах. Подключение к файлу JavaScriptМы можем сохранить наш файл JavaScript, используемый для Ajax, внутри основного файла или во внешнем файле .js. Любой внешний файл JavaScript может быть включен в основной файл следующим образом.Проверка поддержки сценарияПоскольку Ajax зависит от сценариев на стороне клиента, нам нужно проверить, включена ли поддержка сценариев (в браузере) или нет. Вот код, который мы можем использовать для отображения сообщения, если сценарии отключены.Давайте начнем с нескольких примеров использования Ajax. Для работы в Ajax нам нужно создать объекты запроса XMLHttp в зависимости от типа браузера. Этот объект мы будем использовать для передачи данных и сбора данных с сервера. Используя метод GET, мы можем отправить данные формы в серверный PHP-скрипт, используя Ajax. Отображает часы, показывающие время сервера, когда запрос отправляется каждую секунду на сервер для получения данных Список данных можно использовать для автозаполнения текстового поля. Мы узнаем, как добавлять параметры в список данных. Мы будем использовать Ajax для отправки значения выбора первого раскрывающегося списка, а затем на основе этого значения мы отправим еще один зависимый раскрывающийся список.Подробнее Мы будем использовать Ajax для передачи данных электронной почты, введенных пользователем, а затем этот адрес проверяется с помощью кода проверки, написанного на PHP. Читать далее Используя Ajax, мы можем отправить идентификатор клиента на сервер и собрать соответствующие данные клиента. . Читать далее Мы можем создать скрипт подкачки, разбив записи на страницы, используя базу данных Ajax, PHP и MySQL. . Читать далее Нам нужно общаться с посетителями во время обработки данных на сервере. Изучите основы отображения и скрытия сообщений с помощью слоев по тегу DIV. Статус выполнения скрипта может быть показан растущим индикатором выполнения. Это основа того, как отображать растущий индикатор выполнения. Данные берутся из таблицы MySQL, а статус обновляется из основного скрипта. Мы можем отображать сообщения об ошибках без перезагрузки страницы или отправки всех данных в скрипт на стороне сервера с помощью PHP и Ajax. При заполнении данных мы можем проверить форму, отправив данные в скрипт на стороне сервера с помощью Ajax и PHP. Что такое Джсон? Как узнать, доступна ли поддержка Json в нашем PHP или нет? Что мы можем сделать с нашими функциями Json? . . Читать далее Мы можем получить результат из нашей таблицы базы данных, применив команду поиска. Здесь данные отправляются в серверный запрос по мере ввода и отображения результатов. Записи подкатегории могут отображаться после выбора категории из выпадающего списка.
← Подпишитесь на наш канал YouTube здесь Эта статья написана командой plus2net. com . https://www.plus2net.com plus2net.com | |||||||||||||||||||
▼ Щелкните, чтобы просмотреть дополнительные руководства по Ajax и PHP
|