JavaScript: Правильный подход реализации AJAX вызовов

Сегодня речь пойдет о JavaScript, а точнее об организации технологии AJAX на своем сайте. Конечно говорить, что предложенный метод является правильным нельзя. Однако, на мой взгляд, описанный далее подход является очень желательным и простым для понимания даже для программистов, встретившихся с кодом впервые…

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

Начнем с описания нашего сайта. Пусть наш сайт состоит из N страниц. Не теряя общности далее мы можем говорить лишь об одной странице. Пусть на данной странице нам необходимо реализовать Аякс запросы. Здесь остановимся более подробно.

По сути мы можем рассматривать два варианта развития событий:
1) Нам необходимо выполнить некоторое действие с помощью ajax и, возможно, вернуть результат в некоторый элемент сайта;
2) Нам необходимо показать диалоговое окно с просьбой ввести данные и двумя кнопками — подтвердить введенные данные или отменить изменения;

Теперь проанализируем наши ситуации. Рассмотрим только первый случай, второй имеет полностью аналогичную структуру. По сути в зависимости от ситуации мы должны всегда выполнять различный код. Этот код будет идентифицироваться нашим дейстивем, а следовательно для каждого дейстивя нам нужен идентификатор. Числовой идетификатор в нашем случае будет неудобен, так как можно легко запутаться, поэтому вполне подойдет строковый идентификатор. Для большего удобства создадим отдельный php файл, например ajax.php со слежующим кодом:

<php
if(!$_GET) exit();
switch($_GET["action"])
{
   case "InsertUser":
      //ВАШ КОД
      break;
   case "ShowNews":
      //YOUR SOURCE
      break;
}
?>

Как видно мы можем легко найти нужный кусок кода, а так же без труда определить какой код за что отвечает и в какой момент будет срабатывать.

С актами мы определились — все разное и каждое реализовано по своему. Однако вызов данных актов можно стандартизировать. Как правило для выполнения аякс вызова нам нужно знать что выполнять, а так же знать с какими параметрами нам надо это что-то выполнять. Количество параметров может быть различно, однако ни что нам не мешает объединить наши параметры в одну строку с разделителями. Итог: для вызова аякс функции нам нужно реализовать javascript функцию которая будет принимать два параметра: идетификатор действия и строка параметров.

Пример:

function AJAX(action, param)
{
    //Функция посылки запроса АЯКС и обработки ответа
    sendAJAX("ajax.php?action="+action+"¶m="+param);
}

Теперь все действия на нашей странице мы можем выполнять одной функцией AJAX. Тем самым не загромаждая наш файл скриптов.

Запись опубликована в рубрике JavaScript с метками , , , , . Добавьте в закладки постоянную ссылку.