|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.12.2009, 08:37 | #1 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Ajax проблемы с загрузкой
Доброе утро, вопрос заключается в слудующем.
Есть две кнопки, при щелчке на первой срабатывает JS который при помощи Ajax возвращает данные, при клике на другую другие данные. Так вот если очень быстро щёлкать то на одну то на другую кнопку теряются результаты возвращаемые сервером. Как с этим можно бороться ? |
06.12.2009, 12:57 | #2 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Нужно немного подправить скрипт.
|
06.12.2009, 23:47 | #3 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
|
07.12.2009, 00:25 | #4 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
да, всего лишь.
|
07.12.2009, 02:08 | #5 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Если бы я знал где.
Может вы подскажите. Код HTML:
// создание ajax объекта function createRequestObject() { // переменная для хранения ссылок на обьект XmlHttpRequest var xmlHttp; try { // попытка создать обьект XmlHttpRequest xmlHttp = new XMLHttpRequest(); } catch(e) { // предпологается что в качестве браузера использует // ie6 и более старая его версия var xmlHttpVersions = new Array('Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP'); // пытаемся создать обьект // пока одна из попыток не увенчается успехом for (var i=0; i<xmlHttpVersions.length && !xmlHttp; i++) { try { // попытка создать обьект XmlHttpRequest xmlHttp = new ActiveXObject(xmlHttpVersions[i]); } catch(e) {} // игнорируем возможные ошибки } } // вернусть созданный обьект или сведения об ошибке if (!xmlHttp) return null; else return xmlHttp; } function RequestDataTabs(idElement) { var curTab=idElement.parentNode; // ссылаемся на li var ulTab=curTab.parentNode; // ссылаемся на ul var cont=nodeById('InfContener'); //нашли контейнер var url='tabs.php'; for (var i=0; i<ulTab.childNodes.length; i++) ulTab.childNodes[i].className = (ulTab.childNodes[i].className == "active") ? '' : ulTab.childNodes[i].className; curTab.className += 'active'; var http=createRequestObject(); if (http) { try { http.open('GET', url+'?tabid='+curTab.id,true); // инициируем загрузку страницы http.onreadystatechange = function () { // назначаем асинхронный обработчик события if(http.readyState == 4) { if (http.status == 200) { // значение 200 говорит о том что транзакция прошла успешно try { cont.innerHTML = http.responseText; // присваиваем содержимое }catch(e) { alert("Ошибка чтения ответа сервера"+e.toString());} } else { alert("Не удалось получить данные:\n" + http.statusText); } } } http.send(null); } // вывести сообщение об ошибке в случае неудачи catch(e) { alert("Невозможно сооединиться с сервером:\n"+e.toString()); } } } |
07.12.2009, 02:20 | #6 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
такое ощущение что проблема имено в переменой
Код HTML:
var http; Последний раз редактировалось slips; 07.12.2009 в 05:20. |
07.12.2009, 11:45 | #7 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Код:
есть 2 варианта решения 1)Запретить отправку запроса если не пришёл результат любого другого уже запущенного. Код:
Код:
Стрелок-охотник
|
07.12.2009, 18:01 | #8 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
спасибо вам огромное..
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с загрузкой ОС | Vali_T | Операционные системы общие вопросы | 18 | 07.04.2010 18:50 |
Проблема с загрузкой страницы | Nester | Работа с сетью в Delphi | 5 | 06.11.2009 13:37 |
Проблема с загрузкой XP. | hebu | Windows | 11 | 20.07.2009 14:33 |
помогите с загрузкой в веббраузер.. | Анастасия123456789 | Общие вопросы Delphi | 4 | 27.11.2008 15:51 |
Проблемы с загрузкой главной страницы. | antfrolov | Помощь студентам | 2 | 05.04.2008 16:50 |