Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
«8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
Сертифицированный партнёр 1С-Битрикс Аккредитация на портале Госзакупок 44-ФЗ и 223-ФЗ Участник Московского инновационного кластера
E-mail
customer@8cores.ru
Адрес
г. Москва, ул. Окская, 20к2, пом. 5/1
Режим работы
Пн. – Пт.: с 08:00 до 18:00 (мск)
Продукты
  • Готовые сайты
    • Интернет-магазины
    • Корпоративные сайты
    • Отраслевые сайты
  • Лицензии 1С-Битрикс
  • Продления лицензий
Услуги
  • Разработка сайтов и приложений
    • Запуск сайта на готовом решении 1С-Битрикс
    • Хостинг. Регистрация доменов
    • Разработка сайтов
    • Перенос сайта на 1С-Битрикс
    • Разработка модулей для 1С-Битрикс
    • Лендинг/визитка
  • Интеграция
    • Интеграция сайта с 1С
    • Интеграция с CRM Битрикс24
    • ERP для Производственной компании
    • Интеграция с ФГИС "АРШИН"
    • Интеграция с ФГИС ФСА
  • Поддержка
    • Техническая поддержка
    • Доработка существующего сайта
  • Дизайн
    • Разработка дизайна сайта
  • Информационная безопасность
    • Проверка сайта и удаление вирусов
  • Импорт/Парсинг
Кейсы
  • Разработка сайта
  • Техподдержка сайта
  • Интеграция систем
Блог
Компания
  • О компании
  • Как мы работаем
  • Сертификаты
  • Реквизиты
  • Документы
  • Партнёры
  • Вакансии
Контакты
Москва
«8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
Сертифицированный партнёр 1С-Битрикс Аккредитация на портале Госзакупок 44-ФЗ и 223-ФЗ Участник Московского инновационного кластера
Продукты
  • Готовые сайты
    Готовые сайты
  • Лицензии 1С-Битрикс
    Лицензии 1С-Битрикс
  • Продления лицензий
    Продления лицензий
Услуги
  • Разработка сайтов и приложений
    Разработка сайтов и приложений
  • Интеграция
    Интеграция
  • Поддержка
    Поддержка
  • Дизайн
    Дизайн
  • Информационная безопасность
    Информационная безопасность
  • Импорт/Парсинг
    Импорт/Парсинг
Кейсы
  • Разработка сайта
  • Техподдержка сайта
  • Интеграция систем
Блог
Компания
  • О компании
  • Как мы работаем
  • Сертификаты
  • Реквизиты
  • Документы
  • Партнёры
  • Вакансии
Контакты
    Москва
    E-mail
    customer@8cores.ru
    Адрес
    г. Москва, ул. Окская, 20к2, пом. 5/1
    Режим работы
    Пн. – Пт.: с 08:00 до 18:00 (мск)
    «8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
    Продукты
    • Готовые сайты
      Готовые сайты
    • Лицензии 1С-Битрикс
      Лицензии 1С-Битрикс
    • Продления лицензий
      Продления лицензий
    Услуги
    • Разработка сайтов и приложений
      Разработка сайтов и приложений
    • Интеграция
      Интеграция
    • Поддержка
      Поддержка
    • Дизайн
      Дизайн
    • Информационная безопасность
      Информационная безопасность
    • Импорт/Парсинг
      Импорт/Парсинг
    Кейсы
    • Разработка сайта
    • Техподдержка сайта
    • Интеграция систем
    Блог
    Компания
    • О компании
    • Как мы работаем
    • Сертификаты
    • Реквизиты
    • Документы
    • Партнёры
    • Вакансии
    Контакты
      Москва
      «8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
      Телефоны
      E-mail
      customer@8cores.ru
      Адрес
      г. Москва, ул. Окская, 20к2, пом. 5/1
      Режим работы
      Пн. – Пт.: с 08:00 до 18:00 (мск)
      «8 Ядер» - готовые сайты, интернет-магазины на 1С-Битрикс
      • Продукты
        • Продукты
        • Готовые сайты
          • Готовые сайты
          • Интернет-магазины
          • Корпоративные сайты
          • Отраслевые сайты
        • Лицензии 1С-Битрикс
        • Продления лицензий
      • Услуги
        • Услуги
        • Разработка сайтов и приложений
          • Разработка сайтов и приложений
          • Запуск сайта на готовом решении 1С-Битрикс
          • Хостинг. Регистрация доменов
          • Разработка сайтов
          • Перенос сайта на 1С-Битрикс
          • Разработка модулей для 1С-Битрикс
          • Лендинг/визитка
        • Интеграция
          • Интеграция
          • Интеграция сайта с 1С
          • Интеграция с CRM Битрикс24
          • ERP для Производственной компании
          • Интеграция с ФГИС "АРШИН"
          • Интеграция с ФГИС ФСА
        • Поддержка
          • Поддержка
          • Техническая поддержка
          • Доработка существующего сайта
        • Дизайн
          • Дизайн
          • Разработка дизайна сайта
        • Информационная безопасность
          • Информационная безопасность
          • Проверка сайта и удаление вирусов
        • Импорт/Парсинг
      • Кейсы
        • Кейсы
        • Разработка сайта
        • Техподдержка сайта
        • Интеграция систем
      • Блог
      • Компания
        • Компания
        • О компании
        • Как мы работаем
        • Сертификаты
        • Реквизиты
        • Документы
        • Партнёры
        • Вакансии
      • Контакты
        • Телефоны
      • г. Москва, ул. Окская, 20к2, пом. 5/1
      • customer@8cores.ru
      • Пн. – Пт.: с 08:00 до 18:00 (мск)
      Сертифицированный партнёр 1С-Битрикс Аккредитация на портале Госзакупок 44-ФЗ и 223-ФЗ Участник Московского инновационного кластера
      Главная
      —
      Блог
      —
      jQuery
      —AJAX JQuery методы

      AJAX JQuery методы

      ajax jquery методы
      jQuery
      17 июля 2021
      AJAX-запросы позволяют отправлять и получать данные без перезагрузки страницы. Можно делать проверку форм, подгружать контент и т.д. А функции библиотеки jQuery значительно упрощают процесс.

      GET

      Запрос идет на index.php с параметром «text» и значением «Текст» через метод GET. По сути это то же самое что перейти в браузере по адресу – http://site.com/index.php?text=Текст

      В результате запроса index.php вернет строку «Данные приняты – Текст», которая будет выведена в сообщении alert.

      $.ajax({
      	url: '/index.php',         /* Куда пойдет запрос */
      	method: 'get',             /* Метод передачи (post или get) */
      	dataType: 'html',          /* Тип данных в ответе (xml, json, script, html). */
      	data: {text: 'Текст'},     /* Параметры передаваемые в запросе. */
      	success: function(data){   /* функция которая будет выполнена после успешного запроса.  */
      		alert(data);            /* В переменной data содержится ответ от index.php. */
      	}
      });
      

      Или короткая запись через функцию $.get:

      $.get('/index.php', {text: 'Текст'}, function(data){
      	alert(data);
      });
      

      Код в файле index.php

      echo 'Данные приняты - ' . $_GET['text'];

      GET запросы могут кэшироваться браузером или сервером, чтобы этого избежать нужно добавить в функцию параметр – cache: false.


      $.ajax({
      	url: '/index.php',
      	method: 'get',
      	cache: false
      });
      

      POST

      $.ajax({
      	url: '/index.php',
      	method: 'post',
      	dataType: 'html',
      	data: {text: 'Текст'},
      	success: function(data){
      		alert(data);
      	}
      });
      

      Или функция $.post

      $.post('/index.php', {text: 'Текст'}, function(data){
      	alert(data);
      });
      

      Код в index.php:

      echo 'Данные приняты - ' . $_POST['text'];

      POST запросы никогда не кэшируются.


      Отправка формы через AJAX

      При отправке формы применяется функция serialize(), подробнее на jquery.com.

      Она обходит форму и собирает названия и заполненные пользователем значения полей и возвращает в виде массива – {login: 'ЗНАЧЕНИЯ_ПОЛЯ', password: 'ЗНАЧЕНИЯ_ПОЛЯ'}.

      Особенности serialize():

      • Кнопки формы по которым был клик игнорируются, в результате функции их не будет.
      • serialize можно применить только к тегу form и полям формы, т.е. $('div.form_container').serialize(); – вернет пустой результат.

      Пример отправки и обработки формы:

      <div class="form_container">
      	<div id="message"></div>
      	<form id="form">
      		<input type="text" name="login">
      		<input type="text" name="password">
      		<input type="submit" name="send" value="Отправить">
      	</form>
      </div>
       
      <script>
      $("#form").on("submit", function(){
      	$.ajax({
      		url: '/handler.php',
      		method: 'post',
      		dataType: 'html',
      		data: $(this).serialize(),
      		success: function(data){
      			$('#message').html(data);
      		}
      	});
      });
      </script>
      

      Код в файле handler.php:

      if (empty($_POST['login'])) {
      	echo 'Укажите логин';
      } elseif (empty($_POST['password'])) {
      	echo 'Укажите пароль';
      } else {
      	echo 'Авторизация...';
      }
      

      JSON

      Когда нужно работать с массивами данных.

      $.ajax({
      	url: '/json.php',
      	method: 'get',
      	dataType: 'json',
      	success: function(data){
      		alert(data.text);    /* выведет "Текст" */
      		alert(data.error);   /* выведет "Ошибка" */
      	}
      });
      

      Короткая запись:

      $.getJSON('/json.php', function(data) {
      	alert(data.text);
      	alert(data.error);
      });
      

      $.getJSON передает запрос только через GET.


      Код в json.php:

      header('Content-Type: application/json');
       
      $result = array(
      	'text'  => 'Текст',
      	'error' => 'Ошибка'
      );
       
      echo json_encode($result);
      
      Возможные проблемы

      При работе с JSON может всплыть одна ошибка – после запроса сервер отдал результат, все хорошо, но метод success не срабатывает. Причина кроется в серверной части (PHP) т.к. перед данными могут появится управляющие символы, например пробел перед ответом.

      Из-за них ответ считается не валидным и считается как ошибочный запрос.

      В таких случаях помогает очистка буфера вывода ob_end_clean (если он используется на сайте).

      ...
       
      // Очистка буфера
      ob_end_clean(); 
      		
      header('Content-Type: application/json');
      echo json_encode($result, JSON_UNESCAPED_UNICODE);
      exit();
      

      Выполнение JS загруженного через AJAX

      В JQuery реализована функция подгруздки кода JS через AJAX, после успешного запроса он будет сразу выполнен.

      $.ajax({
      	method: 'get',
      	url: '/script.js',
      	dataType: "script"
      });
      
      • Комментарии
      Загрузка комментариев...
      ajax jquery get post json
      Назад к списку
      • 1С Администрирование 2
      • 1С-Битрикс 30
      • HTML/CSS 1
      • jQuery 2
      • PHP 2
      • Оптимизация 9
      1с 1С ajax apache api bitrix clean-param CRM cron curl etext get google htaccess html jivo jquery json market marketplace nginx openserver PageSpeed php php8 post robots robots.txt search seo web агенты администрирование артикул аспро битрикс боты вирус директория защита каталог композит кэш логи магазин маркетплейс метрика модальные окна настройка обмен онлайн консультант оптимизация ордер ошибки пагинация папка парсинг поиск покупка сервера склад скрипт спам страница тестирование троян ускорение установка ут цвета чпу юkassa яндекс
      Продукты
      Услуги
      Компания
      Блог
      Контакты
      Сертифицированный партнёр 1С-Битрикс Аккредитация на портале Госзакупок 44-ФЗ и 223-ФЗ Участник Московского инновационного кластера
      E-mail
      customer@8cores.ru
      Адрес
      г. Москва, ул. Окская, 20к2, пом. 5/1
      Режим работы
      Пн. – Пт.: с 08:00 до 18:00 (мск)
      customer@8cores.ru
      г. Москва, ул. Окская, 20к2, пом. 5/1
      © 2010-2026 «8 Ядер» - веб-студия полного цикла
      Политика конфиденциальности
      Разработано в