Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
как прервать ajax-запрос, созданный jquery? |

26.05.2009, 15:42
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
как прервать ajax-запрос, созданный jquery?
возможно ли это?
|
|
|

26.05.2009, 16:09
|
|
Познающий
Регистрация: 20.11.2008
Сообщений: 68
Провел на форуме: 108674
Репутация:
32
|
|
а зачем такое может понадобиться?
|
|
|

26.05.2009, 16:47
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от Дикс
возможно ли это?
Код:
jQuery.ajaxSetup({
beforeSend: function(xhr, settings)
{
return false;
}
});
|
|
|

26.05.2009, 16:54
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
мой скрипт таким образом реализует многопоточность
хотелось бы иметь над ней какой-то контроль
|
|
|

26.05.2009, 16:57
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от Дикс
мой скрипт таким образом реализует многопоточность
:eek:
Можешь рассказать принцип? Интересно же
Последний раз редактировалось astrologer; 26.05.2009 в 17:05..
|
|
|

26.05.2009, 19:22
|
|
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме: 1754802
Репутация:
380
|
|
Сообщение от astrologer

Можешь рассказать принцип? Интересно же
Естественно речь идет о ПСЕВДО много поточности, интерпретатор JS выполняет все операции атомарно, вот примерчик(там они громко это называют много поточностью, на самом деле это не так) - http://javascript.ru/blog/tenshi/mnogopotochnyi-yavaskript
|
|
|

26.05.2009, 21:55
|
|
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме: 3134311
Репутация:
1467
|
|
Сообщение от Дикс
мой скрипт таким образом реализует многопоточность
хотелось бы иметь над ней какой-то контроль
По моему если уже чтото отправлено, то это можно отвести в сторону только на стороне сервера.
попробуй в случае отмены писать ему какой нибудь запрос типа
(cancel,id);
id - код нужного запроса.
но это реально заморочно очень)
|
|
|

26.05.2009, 22:11
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от PaCo
Естественно речь идет о ПСЕВДО многопоточности, интерпретатор JS выполняет все операции атомарно, вот примерчик(там они громко это называют много поточностью, на самом деле это не так) - http://javascript.ru/blog/tenshi/mnogopotochnyi-yavaskript
О, вообще-то, всё гораздо интереснее.
К сожалению, не могу найти сейчас обсуждение по теме - но ход мыслей был примерно такой:
1. JS выполняется строго последовательно, без исключений
2. Пришедший ответ с сервера (xhr) иногда может прерывать исполняющийся код. Функции никогда не прерываются.
3. Функции иногда прерываются.
4. Никогда не полагайтесь на то, что один кусок кода будет исполняться до или после другого.
Что касается многопоточности - ближайший её аналог будет доступен в виде Web Workers.
Сейчас опера и, похоже, только она даёт возможность реализовать многопоточность, запустив код во фрейме. (Судя по всему, исполняется действительно параллельно)
KaZ@NoVa, написано "прервать" - значит, всё ещё в процессе и можно вполне вызвать метод abort
Хотя, наверное, Дикс лучше знает, что он подразумевал
|
|
|

27.05.2009, 09:05
|
|
Познавший АНТИЧАТ
Регистрация: 16.04.2006
Сообщений: 1,488
Провел на форуме: 2209675
Репутация:
537
|
|
как правильно сказали на другом ресурсе - не прервать запрос, а перестать ждать от него ответа.
т.е. запустил я 50 одинаковых соединений. все они закончат выполняться хз когда и каждый из них может повлиять своим ответом на скрипт тогда, когда это уже не надо.
в фф я открываю файрбаг и вижу там открытые xhr
если нажать escape - они все останавливаются и помечаются как неоконченные.
примерно этого мне хотелось бы добиться программно.
я думал есть какой-то способ это сделать малой кровью.
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|