Дапамажыце dev.by 🤍
Падтрымаць

AJAX без jQuery

Пакінуць каментарый
AJAX без jQuery
Последнее время много изучаю AJAX и обратил внимание на то, что многие разработчики используют для отправки запросов jQuery. Но что, если проект у вас маленький и использование данной библиотеки только утяжеляет его? Предлагаю вашему вниманию способ отправки AJAX-запросов без jQuery:

// URL, на который будем посылать запрос
var locationRequest = 'server_side.php'; 
/*Попытаемся создать код мультиплатформенным.
IE и нормальные браузеры создают объект XMLHttpRequest по разному.
Кроме того, разные версии IE его создают по разному.
Придётся повторить операцию для всех.
*/
var request;
function createRequest() {
// Это для адекватных современных браузеров
	if (window.XMLHttpRequest) request = new XMLHttpRequest();
// Internet Explorer
	else if (window.ActiveXObject) {
// IE разных версий		
		try {
			request = new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e){}											
		try {													
			request = new ActiveXObject('Microsoft.XMLHTTP');
		} catch (e){}
	}
	return request;
}
 
function sendRequest(locationRequest, parameters) {
	// Создаем запрос
	request = createRequest();
	if (request) {
// Посылаем POST-запрос. 
// Указываем адрес, false - асинхронный режим выключен
	request.open("POST", locationRequest, false);
	// Отправляем дополнительно header, т.к. метод POST
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	// Отправляем запрос с параметрами 
	//(несколько параметров разделять &)
	request.send(parameters);
		// Если всё хорошо
		if (request.status == 200) {
			// Берём ответ в виде строки
			var stRespond = request.responseText;
// Выполняем eval(), предварительно проверив данные. Мало ли ;)
			var evalRespond = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(stRespond.replace(/"(\.|[^"\])*"/g, ''))) && eval('(' + stRespond + ')');
			// Создаем массив данных
			var arrayRespond = new Object(evalRespond);
		} else { //Если сервер вернул ошибку
			alert("Ошибка получения данных:\n" + request.statusText);
		}
	} else {
		alert("Браузер не поддерживает технологию AJAX");
	}
	return arrayRespond;
}
 
// использование
sendRequest(locationRequest,'параметры, например (showPage="3")');

Код с подсветкой тут. Буду рад, если данный код поможет в вашей работе. Также буду благодарен за комментарии, исправления и за ваши реализации.
Чытайце таксама
10 популярных курсов по изучению JavaScript для крутой веб-разработки
10 популярных курсов по изучению JavaScript для крутой веб-разработки
10 популярных курсов по изучению JavaScript для крутой веб-разработки
JavaScript и в 2022 остается одним из самых популярных языков программирования в мире. Мы собрали список курсов и сертификаций по Javascript от основ до необычных особенностей. В листинге как платные, так и бесплатные онлайн-курсы. Погнали за новыми знаниями!
2 каментарыя
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Как оплачиваются самые популярные языки GitHub и какой прогноз
Rust стал самым быстрорастущим языком по числу разработчиков
Rust стал самым быстрорастущим языком по числу разработчиков
Rust стал самым быстрорастущим языком по числу разработчиков
Бесплатные курсы по TypeScript, React, 3D разработке. По итогам могут взять на работу
Бесплатные курсы по TypeScript, React, 3D разработке. По итогам могут взять на работу
Бесплатные курсы по TypeScript, React, 3D разработке. По итогам могут взять на работу

Хочаце паведаміць важную навіну? Пішыце ў Telegram-бот

Галоўныя падзеі і карысныя спасылкі ў нашым Telegram-канале

Абмеркаванне
Каментуйце без абмежаванняў

Рэлацыраваліся? Цяпер вы можаце каментаваць без верыфікацыі акаўнта.

Каментарыяў пакуль няма.