Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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;
}
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2016, 15:29
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Сообщение от Rise Посмотреть сообщение
St., зачем дублируешь параметры функции (строки 11-16)?
11	    var data;
12	        var id;
13	            var urlimgwait;
14	            var urlimgsuccessfully;
15	        var urlimgfailure;
16	    var filecheck;


Чтобы переменные были доступны только внутри функции (хух ).
Извините, их можно не дублировать?

Дополнительно о var: http://javascript.ru/var

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

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

Сообщение от Rise Посмотреть сообщение
St., не нужно их объявлять... а по самой теме я так и не понял что надо...
Нужно как-то подключить filecheck к своему проекту... ?
В filecheck имя файла php, который обрабатывает запрос.
Ответить с цитированием
  #5 (permalink)  
Старый 12.10.2016, 15:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от St.
Как подключить filecheck к своему проекту?
Клиент никак не может подключить серверный скрипт, если под подключением подразумевается именно оно.
Ответить с цитированием
  #6 (permalink)  
Старый 12.10.2016, 16:05
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

В filecheck имя файла php...
Получается в "filecheck" мне опять нужно писать подключение к MySql (login, password)... Т.е. "filecheck" в не моего проекта... Как бы эту задачу правильно решить?

Дополнительно.
Т.е. база недоступна, также недоступны глобальные переменные (пример: global $txt).

Последний раз редактировалось St., 12.10.2016 в 16:17.
Ответить с цитированием
  #7 (permalink)  
Старый 12.10.2016, 16:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от St.
Получается в "filecheck" мне опять нужно писать подключение к MySql (login, password)... Т.е. "filecheck" в не моего проекта... Как бы эту задачу правильно решить?
Что мешает само подключение и прочие связанные с этим параметры описать в подключаемом файле?
Ответить с цитированием
  #8 (permalink)  
Старый 12.10.2016, 16:35
St. St. вне форума
Аспирант
Отправить личное сообщение для St. Посмотреть профиль Найти все сообщения от St.
 
Регистрация: 15.04.2016
Сообщений: 53

Цитата:
Что мешает само подключение и прочие связанные с этим параметры описать в подключаемом файле?
У меня в проекте есть готовая функция ConnectionMySql() - но она недоступна из "filecheck". "filecheck" в не проекта!

Мне повторно описывать "само подключение"?
Данные которые уже есть в global $txt (тоже повторно описывать)?

Последний раз редактировалось St., 12.10.2016 в 16:40.
Ответить с цитированием
  #9 (permalink)  
Старый 12.10.2016, 17:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от St.
У меня в проекте есть готовая функция ConnectionMySql()
И где она находится? Если функция, значит в каком либо подключаемом файле, не один же скрипт использует подключение. Что касается global $txt, то они объявляются некой функции и будет доступна в ней. Если во время вызова filecheck функция где она объявляется глобальной исполняется или исполняется скрипт где объявляется эта переменная, то она будет доступна в глобальном массиве $GLOBALS.

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

Блин, блин, блин... Хух...
Извините, у меня простой вопрос, можно ли подключить файл php обработки ajax запроса к своему проекту?
Если да, то как? Или надо n-часть проекта втащить в этот файл php?
Я правильно понимаю?
Извините.

Последний раз редактировалось St., 12.10.2016 в 18:54.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выбрать элемент, который отправлялся ajax Nifler jQuery 2 20.08.2015 08:25
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12