Показать сообщение отдельно
  #1 (permalink)  
Старый 12.10.2016, 15:14
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Как подключить файл обработки ajax запроса к своему проекту.
Ниже приведен стандартый код отправки ajax запроса на сервер.
В filecheck - это имя файла php, который будет обрабатывать ajax запрос.

Как подключить filecheck к своему проекту?
Может можно как-то вызвать функцию а не filecheck?
Эбм-мм-э... Мне не совсем это понятно...

П.С.
Не хочется в файле filecheck опять писать подключение к MySql и т.п.
Как это правильно (универсально) сделать?

// Отправка данных на сервер методом POST.
function TransferPOST(data, id, urlimgwait, urlimgsuccessfully, urlimgfailure, filecheck)
{
// data               - что отправить на сервер.
// id                 - имя id div'а или span'а, где будет размещен ответ.
// urlimgwait         - тег <img> индикатора ожидания.
// urlimgsuccessfully - тег <img> индикатор успешно.
// urlimgfailure      - тег <img> индикатор неудача.
// filecheck          - файл php, который будет обрабатывать запрос.

	var data;
		var id;
			var urlimgwait;
			var urlimgsuccessfully;
		var urlimgfailure;
	var filecheck;

	// Создаём объект XMLHTTP.
	var xmlhttp = getXmlHttp(); 

	// Открываем асинхронное соединение.
	xmlhttp.open('POST', filecheck, true);

		// Отправляем тип содержимого.
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

			// Отправляем POST-запрос.
			xmlhttp.send("data=" + encodeURIComponent(data));

	// Вставить изображение ожидания.
	var image = document.getElementById(id);
		image.innerHTML = urlimgwait;

	// Ждём ответа от сервера
	xmlhttp.onreadystatechange = function()
	{
	// Ответ пришёл
	if (xmlhttp.readyState == 4)
		{
		 // Сервер вернул код 200 (что хорошо)
		if(xmlhttp.status == 200)
			{
			if (xmlhttp.responseText)
				{
				// Успешно.
				var image = document.getElementById(id);
				image.innerHTML = urlimgsuccessfully;
				}
				else
				{
				// Неудача.
				var image = document.getElementById(id);
				image.innerHTML = urlimgfailure;
				}
			}
			else
			{
			alert("При обращении к серверу возникли проблемы: " + xmlhttp.statusText);
			}
		}
	}
}

// Создать кросс-броузерный объект.
function getXmlHttp() {

	var xmlhttp;

	if (window.ActiveXObject)
		{
			try
			{
			// Если сценарий запущен под управлением IE.
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
			xmlhttp = false;
			}
		}
		else
		{
			try
			{
			// Если сценарий запущен под управлением Mozilla и т.п.
			xmlhttp = new XMLHttpRequest();
			}
			catch (e)
			{
			xmlhttp = false;
			}
		}

	if (!xmlhttp)
		alert("Ошибка создания объекта XMLHttpRequest.");
		else
		return xmlhttp;
}
Ответить с цитированием