Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.08.2016, 15:27
Аспирант
Отправить личное сообщение для Ostic Посмотреть профиль Найти все сообщения от Ostic
 
Регистрация: 31.08.2016
Сообщений: 49

Корретно ли реализовал "AJAX"?
Здравствуйте.
По мотивам учебника данного сайта написал скрипт.
Насколько оно корректно так поступать? Может упустил или не понял что-нибудь?
Страница формируется PHP следующим образом:
на страницу добавляются <form > с надписью из БД (это работает уже) каждой форме присваивается id (<form id=5>) из БД (обычное целое положительное `id` int(5) unsigned NOT NULL AUTO_INCREMENT)
когда мы нажимаем кнопку, то вызывается JS и передает id на сервер
если короче, то нажали кнопку №1, на сервер отправили ?p=1 сервер ответил "ок".
Взгляните опытным взглядом.
var articles = [];
var answer = 'ok';
function run(obj)
{
 if ( answer == GetData(SendData(XMLHttpRequest(),obj)) ) articles.push(obj.id);

}
function XMLHttpRequest()
{
    var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest : XDomainRequest;
    var xhr = new XHR();
    xhr.timeout = 5000;
    xhr.ontimeout = function() { alert( 'Извините, сервер не доступен ... Попробуйте еще раз.' ); return null;}
    return xhr;
 }
function SendData(xhr,obj)
{
if (!xhr) return null;
var request = 'index.php?p='+obj.id;
xhr.open('GET',request,true);
xhr.send();
return xhr;
}
function GetData(xhr)
{
if (!xhr) return null; 
xhr.onreadystatechange = function() 
 {
   if (xhr.readyState == 4) return xhr.responseText;
   if (xhr.status != 200) 
   {
     alert('Неправильный ответ сервера. '+xhr.status + ': ' + xhr.statusText);
     return null;
   } 
  }
}
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовал у себя на сайте AJAX + History API таким способом eugenjkee AJAX и COMET 0 06.02.2014 16:17