Показать сообщение отдельно
  #7 (permalink)  
Старый 18.01.2021, 16:47
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,733

(function(){
	let rtype 	= 'POST',
		url 	= 'ajax.php?test-request',
		// data 	= 'getMonths';
		data,
		innerData = new Object();
		innerData['getMonths'] = 'all';
		innerData['getM'] = 'alleer';
		innerData['Months'] = 'ball';
		innerData['ges'] = 'aull';
		data = {};
		// console.log(JSON.stringify(data));
		// JSON.stringify(data);
	// Создаем функцию обработчик (что мы делаем с полученными данными)
    var handler = function(Request) {
    }
    // Отправляем запрос
    SendRequest(rtype,url,data,handler);
})();

function CreateRequest() {
    var Request = false;

    if (window.XMLHttpRequest) {
        //Gecko-совместимые браузеры, Safari, Konqueror
        Request = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        //Internet explorer
        try {
             Request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (CatchException) {
             Request = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
 	if (!Request) {
        alert("Невозможно создать XMLHttpRequest");
    }
    return Request;
}

/*
Функция посылки запроса к файлу на сервере
r_method  - тип запроса: GET или POST
r_path    - путь к файлу
r_args    - аргументы вида a=1&b=2&c=3...
r_handler - функция-обработчик ответа от сервера
*/
function SendRequest(r_method, r_path, r_args, r_handler) {
    //Создаём запрос
    var Request = CreateRequest();
    //Проверяем существование запроса еще раз
    if (!Request) return;
    
    //Назначаем пользовательский обработчик
    Request.onreadystatechange = function() {
        //Если обмен данными завершен
        if (Request.readyState == 4) {
            //Передаем управление обработчику пользователя
            r_handler(Request);
        }
    }
    //Проверяем, если требуется сделать GET-запрос
    if (r_method.toLowerCase() == "get" && r_args.length > 0)
    r_path += "?" + r_args;
    
    //Инициализируем соединение
    Request.open(r_method, r_path, true);
    
    if (r_method.toLowerCase() == "post") {
        //Если это POST-запрос  
        //Устанавливаем заголовок
        // Request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
        Request.setRequestHeader('Content-Type','application/json');
        //Посылаем запрос
        Request.send(JSON.stringify(r_args));
    } else {
        //Если это GET-запрос
        //Посылаем нуль-запрос
        Request.send(null);
    }
}
Изображения:
Тип файла: jpg 2021-01-18_165120.jpg (14.5 Кб, 5 просмотров)
Ответить с цитированием