Дима Турков: Я всегда исхожу из мысли — что будет, если отключить скрипт? В этом случае должно произойти то же, но штатными средствами.
То есть я брал бы action и type у формы.
StrangeAttractor: Если бы увидели этот вопрос, то не стали бы возмущаться:)
Я по своей тематике могу сказать — там такое днище, в этих удаляемых вопросах.
А теперь методично удалите со страницы большие куски кода (в PHP скрипте комментируйте или просто удаляйте). Удаляйте до тех пор, пока проблема не исчезнет.
Версия у него 5.1.7 и его поддержка прекратилась 3 года назад. Можно сказать, что эта версия — как IE8. Вроде кое-где ещё жива, но уже никого не интересует.
Я вам про timeout потому и сказал, что abort() требуется только для случая, когда от сервера нет ответа.
Если сработал любая callback-функция, abort() не имеет смысла.
Неважно что — callback функция, переданная как параметр success, или в метод done(), выполнится после того, как readyState будет 4.
Зачем и кому нужен abort()?
Артём Щурин: Всё равно не понимаю.
1. Вызвали функцию, передали каллбэк в метод then(). Функция возвращает обещание.
2. Внутри функции проверили наличие объекта. Если уже загружен и сохранён, резолвим с объектом.
3. Если объекта нет, запрашиваем и на всякий пожарный указываем timeout (если запрос зависнет). В done() резолвим полученный объект. Из fail() резолвим пустышку.
Коллбэк-функция проверяет полученный объект и что-то делает, если он есть. Никакой отановки не происходит, да и вроде не с чего — запросы-то асинхронные.
evnuh: Это потому что абсолютное большинство на знает толком про первую фазу и даже не подозревает, что событие до их обработчика может вообще никогда не дойти:)