Ответ 1
Вы можете использовать XHR abort.
Объект XHR хранится в pendingRequest.transport, поэтому используя
pendingRequest.transport.abort()
отменит запрос.
Используя этот код:
var pendingRequest = new Ajax.Request(myUrl, {
method: 'post',
postBody: soapMsg,
contentType: "text/xml",
onSuccess: function(transport) {
doSomething(transport);
},
onFailure: function(t) {
OnAjaxFailure(t);
},
onException: function(req,exception) {
OnAjaxException(req, exception);
}
});
Как я могу отменить запрос и отбросить данные или не получив этого, как я могу идентифицировать запрос (используя имя /guid/whatever ) внутри моего метода onSuccess, чтобы я мог определить, какой запрос завершается?
Я думал о том, чтобы делать array.push(pendingRequest) для отслеживания ожидающих запросов
Я хочу разрешить пользователю прерывать свой запрос, изменять входные значения и повторно отправлять.
Иногда исходный запрос заканчивается после нового запроса, и я заменяю "правильные" данные на "старые" данные. (результаты поиска возвращают 50 000 записей в первом запросе и 5 во втором, например)
Спасибо,
Вы можете использовать XHR abort.
Объект XHR хранится в pendingRequest.transport, поэтому используя
pendingRequest.transport.abort()
отменит запрос.
Я рекомендую эту статью: http://blog.pothoven.net/2007/12/aborting-ajax-requests-for-prototypejs.html работает для меня.