Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2010, 13:06   #1
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию AJAX некорректная работа при долгом необращении к скрипту

Уважаемые программисты, помогите решить проблему. Вообщем, написал небольшой скрипт с помощью AJAX'a но он работает не совсем корректно.

Есть форма с несколькими полями. При нажатии кнопки вызывается функция, которая асинхронно добавляет данные в БД. Вроде все работает, но (!). Если к этому скрипту не обращаться какое то время (скажем минуты 2), а после попробовать запустить функцию по нажатии кнопки, то он почему то не работает (не добавляет данных в БД). С чем может быть связана эта проблема? Эффект, как будто скрипт находиться в сонном состоянии =). Функцию активируешь, а скрипт с просони не может добавить данные. Но если какие либо данные были добавлены (было обращение к функции) минуту назад и попробовать добавить новые (снова обратиться), то все работает отлично. Объяснил как мог. В какую сторону копать? Ставить тайм аут для регулярного запуска функции не хочется, так как появляется совершенно не нужная нагрузка на сервер.
No name. Just Linel.

Последний раз редактировалось Linel; 10.11.2010 в 13:09.
Linel вне форума Ответить с цитированием
Старый 10.11.2010, 13:14   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Конечно, без кода сложно, но...
А что возвращает сервер на запрос? Firebug-ом правиряли?
Виталий Желтяков вне форума Ответить с цитированием
Старый 10.11.2010, 15:16   #3
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Вообщем, сначала я создаю xmlHttp
Код:
xmlHttp = createXMLHTTP();

function createXMLHTTP()
{
  var xmlHttp;
  
  try
  {
    xmlHttp = new XMLHttpRequest();
  }
  catch (e)
  {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }
  
  if (xmlHttp)
    return xmlHttp;
}
А вот собственно сама функция, которая добавляет инфу в БД
Код:
function addBook()
{
  if (xmlHttp)
  {
    bookTitle = document.getElementById("bTitle").value;
	bookAuthor = document.getElementById("bAuthor").value;
	bookPages = document.getElementById("bPages").value;
	bookPrice = document.getElementById("bPrice").value;
	
	xmlHttp.open("GET", "addBook.php?title="+bookTitle+"&author="+bookAuthor+"&pages="+bookPages+"&price="+bookPrice, true);
	xmlHttp.send(null);
	
	document.getElementById("bTitle").value="";
	document.getElementById("bAuthor").value="";
	document.getElementById("bPages").value="";
	document.getElementById("bPrice").value="";
	
	document.getElementById("answer").innerHTML = "<font color='green'>Сервер успешно выполнил операцию</font>";
  }
}
Данные из формы принимает нормально. Сам PHP скрипт с помощью браузера эмулировал - все работает.

Если я пытаюсь добавить данные в БД, то:

1) Если к функции обращался совсем недавно, то добавит без проблем
2) Если последний раз данные добавлял какое то время назад (минуты 2-3), то не добавит.

Повторю попытку - добавляет.

Явно, что проблема на стороне клиента. Может это зависит от браузера? Или я что то не так делаю. Только начал AJAX изучать.


P.S. Сервер ничего не должен возвращать. Просто РНР скрипт добавляет данные в БД.
No name. Just Linel.

Последний раз редактировалось Linel; 10.11.2010 в 15:21.
Linel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mkfifo, некорректная работа (Линукс) IceBreaker Помощь студентам 4 21.03.2012 13:34
Некорректная работа меню (jquery) 4e4en JavaScript, Ajax 4 20.10.2010 08:49
Некорректная работа программы при формировании массива @Manya@ Общие вопросы C/C++ 13 22.04.2010 21:40
Некорректная работа Ucoz.ru docbrain WordPress и другие CMS 7 31.03.2010 11:26
Некорректная работа потока 3D Hunter Общие вопросы Delphi 7 09.03.2009 10:51