| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > Как прервать ajax запрос? |
| Автор: imm 7.2.2009, 10:41 |
| Работаю на jQuery. Есть объект окно которое по закрытию удаляет сове содержимое, а по открытию грузит его по ajax. Ситуация такая: Открываем окно отправляется ajax запрос, не дожидаясь ответа окно закрываем и открываем снова (только грузя другую страницу). И теперь два success будут бороться за содержимое окна. Вопрос: Как прервать ajax запрос? |
| Автор: solenko 7.2.2009, 11:24 |
| А зачем его прерывать? Создавайте окно с уникальным идентификатором и работайте с ним. Нет окна == обработчик ничего не делает. |
| Автор: ksnk 7.2.2009, 11:30 |
| imm, Что такое окно? Если отдельное окно броузера, то вопрос непонятен совершенно Добавлено через 13 минут и 55 секунд В принципе, у обычного xmlHttpRequest'а есть метод abort. Однако, для jQuery добраться до этого объекта непросто. Можно поставить callback с помощью ajaxSend. Одним из параметров этого запроса будет тот самый объект. Нужно сохранить объект и кильнуть его в нужный момент. Правда как отреагирует jQuery'вский ajax на такое обращение - не могу пока себе представить... |
| Автор: Kyrt_God 7.2.2009, 20:32 |
| зачем вообще такие танцы с окном.И вообще попапы это зло и некрасиво - юзайте модальные окна. |
| Автор: IDVsbruck 9.2.2009, 04:07 |
| Что-то я тоже не понял вопроса. Если окно закрыто, то объект XmlHttpRequest удален. Кто и как может вызвать success удаленного объекта? |
| Автор: maroccanez 14.2.2009, 19:41 |
| А что разве нет информации в нете, по учебникам должно быть. |
| Автор: bars80080 14.2.2009, 23:21 | ||
а что значит прервать запрос? сам запрос ушёл в сеть, всё, на этом точка. обработчик сидит и ждёт когда придёт ответ, чтобы совершить некое действие. вот вызов этого действия и можно остановить. достаточно ввести переменную, а на вызов добавить проверку этой переменной: (perem == false, если мы не хотим выполнения)
|
| Автор: ksnk 15.2.2009, 00:17 | ||
bars80080,
и сервер сидит и лихорадочно сочиняет этот самый ответ. Вот это как раз и можно остановить операцией abort, о которой я писал выше... |
| Автор: bars80080 15.2.2009, 13:08 | ||
а что, это остановит сервер? |
| Автор: ksnk 15.2.2009, 13:37 |
| bars80080, Дык, кто-то же придумал параметр ignore_user_abort в настройках php.ini, значит это кому-то нужно ;-) |
| Автор: bars80080 16.2.2009, 00:04 | ||
даааа? всю жизнь считал, что сервер не видит никакой связи между двумя запросами чем же он отслеживает? куками что ли? |
| Автор: ksnk 16.2.2009, 00:39 |
| bars80080, Ну, запрос-же один. открывается соединение, пока оно стоит - считается,что на той стороне его кто-то ждет. Cделали abort - TCP соединение прервалось - серверу можно пойти покурить |
| Автор: bars80080 16.2.2009, 14:55 |
| мммм, вот он значит какой аякс. а я ничего и не подозревал... |