Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как подключить файл обработки ajax запроса к своему проекту.
Форумы портала PHP.SU » » Вопросы новичков » Как подключить файл обработки ajax запроса к своему проекту.

Страниц (1): [1]
 

1. St. - 12 Октября, 2016 - 13:50:59 - перейти к сообщению
Ниже приведен стандартый код отправки ajax запроса на сервер.
В filecheck - это имя файла php, который будет обрабатывать ajax запрос.

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

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

CODE (javascript):
скопировать код в буфер обмена
  1. // Отправка данных на сервер методом POST.
  2. function TransferPOST(data, id, urlimgwait, urlimgsuccessfully, urlimgfailure, filecheck)
  3. {
  4. // data               - что отправить на сервер.
  5. // id                 - имя id div'а или span'а, где будет размещен ответ.
  6. // urlimgwait         - тег <img> индикатора ожидания.
  7. // urlimgsuccessfully - тег <img> индикатор успешно.
  8. // urlimgfailure      - тег <img> индикатор неудача.
  9. // filecheck          - файл php, который будет обрабатывать запрос.
  10.  
  11.         var data;
  12.                 var id;
  13.                         var urlimgwait;
  14.                         var urlimgsuccessfully;
  15.                 var urlimgfailure;
  16.         var filecheck;
  17.  
  18.         // Создаём объект XMLHTTP.
  19.         var xmlhttp = getXmlHttp();
  20.  
  21.         // Открываем асинхронное соединение.
  22.         xmlhttp.open('POST', filecheck, true);
  23.  
  24.                 // Отправляем тип содержимого.
  25.                 xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  26.  
  27.                         // Отправляем POST-запрос.
  28.                         xmlhttp.send("data=" + encodeURIComponent(data));
  29.  
  30.         // Вставить изображение ожидания.
  31.         var image = document.getElementById(id);
  32.                 image.innerHTML = urlimgwait;
  33.  
  34.         // Ждём ответа от сервера
  35.         xmlhttp.onreadystatechange = function()
  36.         {
  37.         // Ответ пришёл
  38.         if (xmlhttp.readyState == 4)
  39.                 {
  40.                  // Сервер вернул код 200 (что хорошо)
  41.                 if(xmlhttp.status == 200)
  42.                         {
  43.                         if (xmlhttp.responseText)
  44.                                 {
  45.                                 // Успешно.
  46.                                 var image = document.getElementById(id);
  47.                                 image.innerHTML = urlimgsuccessfully;
  48.                                 }
  49.                                 else
  50.                                 {
  51.                                 // Неудача.
  52.                                 var image = document.getElementById(id);
  53.                                 image.innerHTML = urlimgfailure;
  54.                                 }
  55.                         }
  56.                         else
  57.                         {
  58.                         alert("При обращении к серверу возникли проблемы: " + xmlhttp.statusText);
  59.                         }
  60.                 }
  61.         }
  62. }
  63.  
  64. // Создать кросс-броузерный объект.
  65. function getXmlHttp() {
  66.  
  67.         var xmlhttp;
  68.  
  69.         if (window.ActiveXObject)
  70.                 {
  71.                         try
  72.                         {
  73.                         // Если сценарий запущен под управлением IE.
  74.                         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  75.                         }
  76.                         catch (e)
  77.                         {
  78.                         xmlhttp = false;
  79.                         }
  80.                 }
  81.                 else
  82.                 {
  83.                         try
  84.                         {
  85.                         // Если сценарий запущен под управлением Mozilla и т.п.
  86.                         xmlhttp = new XMLHttpRequest();
  87.                         }
  88.                         catch (e)
  89.                         {
  90.                         xmlhttp = false;
  91.                         }
  92.                 }
  93.  
  94.         if (!xmlhttp)
  95.                 alert("Ошибка создания объекта XMLHttpRequest.");
  96.                 else
  97.                 return xmlhttp;
  98. }

(Добавление)
Тема об этом здесь: http://javascript[dot]ru/forum/ajax/[dot][dot][dot]emu-proektu[dot]html
2. zypikov - 12 Октября, 2016 - 16:08:15 - перейти к сообщению
St. пишет:
Как подключить filecheck к своему проекту?

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


Не зная как у вас устроена архитектура, сложно что-то посоветовать.

St. пишет:
Может можно как-то вызвать функцию (а не filecheck)?
. Нет, насколько я знаю любой ajax-транспорт делает запрос к файлу.
И.. что этот скрипт отправляет на сервер?
3. Fart - 12 Октября, 2016 - 16:39:30 - перейти к сообщению
St., немного не понимаю какая проблема возникла при подключении некого файла (а-)синхронного запроса Хм

не получается копировать и использовать js функции ? тут все сложнее тогда.

нет желания создавать доп подключение к субд? создай файлы с динамической загрузкой и они будут выполнять все те действия без повторного копипаста кода.
даже просто делать include "connect.database.php"; - уже избавить от использования повторного кода.

я прочел, что у тебя нет желания вообще создавать подключение к субд... используй сессию, файлы и последующую обработку данных.

 

Powered by ExBB FM 1.0 RC1