RFC 3986 подробно описывает синтаксические компоненты . Часть, на которую вы ссылаетесь, будет [ (http
) и авторитет (www.example.com:9090
).
Большинство методов Ajax jQuery возвращает XMLHttpRequest (или эквивалент) объект, таким образом, можно просто использовать abort()
.
См. документацию:
var xhr = $.ajax({
type: "POST",
url: "some.php",
data: "name=John&location=Boston",
success: function(msg){
alert( "Data Saved: " + msg );
}
});
//kill the request
xhr.abort()
ОБНОВЛЕНИЕ: С jQuery 1.5 возвращенный объект является оберткой для собственного объекта XMLHttpRequest, названного jqXHR. Этот объект, кажется, представляет все собственные свойства и методы, таким образом, вышеупомянутый пример все еще работает. См. Объект jqXHR (документация API jQuery).
ОБНОВЛЕНИЕ 2: С jQuery 3, ajax метод теперь возвращает обещание с дополнительными методами (как аварийное прекращение работы), таким образом, вышеупомянутый код все еще работает, хотя возвращаемый объект не xhr
больше. Посмотрите 3,0 блога здесь .
ОБНОВЛЕНИЕ 3 : xhr.abort()
все еще работы над jQuery 3.x. Не принимайте , обновление 2 корректно. [Еще 1110] информация о jQuery репозиторий GitHub .
Это асинхронное запрос, означая, как только это отправило, это там.
В случае, если Ваш сервер запускает очень дорогую операцию из-за запроса Ajax, лучшее, можно сделать, открыть сервер, чтобы прислушаться к запросам отмены и отправить отдельный запрос Ajax, уведомляющий сервер для остановки независимо от того, что это делает.
Иначе, просто проигнорируйте ответ Ajax.
Вы не можете вспомнить запрос, но можно установить значение тайм-аута, после которого будет проигнорирован ответ. Посмотрите этот страница для опций AJAX jQuery. Я полагаю, что Ваш ошибочный обратный вызов назовут, если период тайм-аута будет превышен. По каждому запросу Ajax уже существует тайм-аут по умолчанию.
можно также использовать аварийное прекращение работы () метод на объекте запроса, но, в то время как это заставит клиент прекращать прислушиваться к событию, это <забастовка> может , забастовка>, вероятно, не будет мешать серверу обработать его.
решение meouw корректно, но если Вы, интересуются большим количеством управления тогда, Вы могли бы попробовать плагин менеджера по Ajax для jQuery.