Пирамида, как обращаться с xhr.abort () - PullRequest
7 голосов
/ 21 марта 2012

У меня есть загрузчик изображений, который после загрузки изображения обрабатывается. Загрузка и обработка могут занять более 5 секунд при медленном соединении. Я добавил способ для пользователя прервать загрузку, используя xhr.abort().

Проблема, с которой я столкнулся, заключается в том, что после завершения загрузки мое приложение-пирамида продолжит обрабатывать изображение, сохранить его на диске и добавить запись в базу данных.

Есть ли способ, на мой взгляд, узнать, что пользователь позвонил xhr.abort(), чтобы я мог очистить.

1 Ответ

1 голос
/ 21 марта 2012

Вы должны получить событие с именем 'abort' для объекта xhr. Если это не работает, readystatechange должен запускаться в любой ситуации.

Источник: http://www.w3.org/TR/XMLHttpRequest/#the-abort-method

Редактировать: Как насчет отправки AJAX-запроса при возникновении события onabort? Тогда вы можете отменить свои изменения на стороне сервера. Чтобы проверить, полностью ли файл поступил на сервер, вы можете получить размер файла на стороне клиента и отправить его на сервер (http://stackoverflow.com/a/5444716/725629).

...