AJAX-запрос на jQuery
TimeWeb

AJAX-запрос на jQuery

Ajax запрос JSON-данных

Часто случается так, что нам необходимо подгрузить на страницу какую-либо информацию. Но каждый раз для этого перегружать страницу и заставлять ждать пользователя - это не дело. Для этого была придумана технология Ajax запросов. Мы с вами рассмотрим пример аякс-запроса с использованием библиотеки jQuery.

Для начала создадим страничку с подключенной библиотеко jQuery и элементом, который будет реагировать на нажатие мыши. В блок head добавим подключение jQuery:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>

Теперь добавим в body блок div и повешаем на него обработчик:


<div style='border: 1px solid gray; padding: 5px;' id='ajax'>Кликни по мне!</div>
<script type='text/javascript'>
  jQuery('#ajax').click(function() {
    jQuery(this).html('Спасибо за клик!');
  });
</script>

После того, как мы проверили, что обработчик работает, заменим его (выполним ajax запрос к странице json.php):


jQuery('#ajax').click(function() {
  jQuery.ajax({
    'url': 'json.php',         //Страница, с которой мы запрашиваем данные
    'data': {'number': 3},       //Данные, которые передаем странице
    'beforeSend': function() { },   //Что сделать до отправки запроса
    'success': function(result) {  //Что сделать после получения ответа
      jQuery('#ajax').html(result);
    },
    'dataType':'json',        //Тип запроса
    'type': 'get'          //Способ передачи данных
  });
});

Создадим страницу json.php, которая в зависимости от переданного параметра будет возвращать те, либо иные данные. Никаких тегов в коде страницы не надо, только блок php со следующим содержанием:


$result = 'Пусто!';     //Значение результата по умолчанию
switch ($_GET['number']) {   //В зависимоти от переданной переменной возвращаем результат
  case 1:
    $result = '<h1>Заголовок h1</h1>';
  break;
  case 2:
    $result = '<h2>Заголовок h2</h2>';
  break;
  case 3:
    $result = '<h3>Заголовок h3</h3>';
  break;
}
echo json_encode ($result); //Запаковываем результат
Демо Скачать