Технология ajax. Яваскрипт приобрёл новую жизнь благодаря этой технологии. Функция ajax() позволяет перезагружать страницы без полного обновления. Для отображения интерфейса многих сайтов нужно было постоянно подключаться к базе данных и делать запросы. Теперь вы можете за один раз загрузить пункты меню и больше не подгружать данные, необходимые для отображения статических частей веб-приложения. Есть 2 способа сделать ajax-передачу данных:
Достоинства ajax. Появилась возможность частичного обновления страницы. Нагрузка на базу данных уменьшилась в разы. Вам нужны только необходимые данных.
Недостатки ajax. Усложняется разработка проекта. Если слишком много запросов, то приложение начинает тормозить. Поисковики, такие как яндекс и гугл не могут индексировать одностраничные сайты. Возможно в будущем они смогут проиндексировать такие сайты. Давайте рассмотрим классический пример функции ajax.
$.ajax({
datatype: "json",// тип возвращаемых данных
type: "GET", // тип передачи
url: 'http://yousite.ru/api.php',
data: {'id':1, 'type_user': 'admin'},
beforeSend: function(result) {
/* срабатывает во время ожидания
идеально подходит для прелоадера */
},
dataFilter: function(data, type) {
/* тут можно проверять данные
идеально подходит для валидации */
},
success: function(result, status, xhr) {
var result = $.parseJSON(result)
if(result.error){
alert('Ошибка: ' + result.error);
}else{
console.log('ответ от обработчика: ', result);
}
result = null;
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("\n\t" + textStatus + "\n\t" + errorThrown);
}
});
Я не буду вам рассказывать о всех функциях. Они не всегда нужны. Перечислю самые необходимые функции:
Вообще сделать обработчик для ajax - это целое дело. Тут всё зависит от ваших способностей. Если вы владеете процедурным стилем, то можете сделать входной скрипт и передавать данные через GET-передачу данных. Потом вы можете подключать файлы для обработки запроса через include(). Сделайте название метода таким же как название подключаемого файла. В итоге у вас появится: входной скрипт index.php, папка method с методами, папка function с функциями. Примерно так можно сделать api на PHP (процедурный стиль).