Ответ 1
Только время, которое имеет значение, - это если запрос на сервер не завершен. Вы должны проверить, чтобы до выхода из системы было установлено значение readyState 2 [aka sent].
У меня есть служба WCF, которая занимает много времени для обработки при первом вызове, а затем кэширует эти результаты в HttpRuntime.Cache
. Чтобы инициализировать этот кеш, я бы хотел вызвать вызов ajax с fire-and-forget из javascript.
Сейчас у меня есть этот javascript на странице:
$.ajax({
type: 'GET',
url: getServiceURL() + 'PrimeCacheAjax',
contentType: 'application/json; charset=utf-8'
});
Где функция PrimeCacheAjax
просто выполняет фиктивный вызов для заполнения кеша.
Единственная проблема с этим подходом заключается в том, что страница с этим вызовом ajax является типом целевой страницы, которая выполняет некоторый javascript, открывает другое окно и закрывается. Когда окно закрывается перед ответом сервера, я вижу отмененный запрос в скрипаче. Я обеспокоен тем, что это может привести к ситуациям, когда вызов ajax может не дойти до сервера, возможно ли это?
Есть ли способ указать (используя $.ajax()
), что никакой ответ не поступит, или это не имеет значения?
Только время, которое имеет значение, - это если запрос на сервер не завершен. Вы должны проверить, чтобы до выхода из системы было установлено значение readyState 2 [aka sent].
Я бы просто выполнил вызов без обратного вызова, я не верю, что есть свойство, которое допускает метод F & F.
для очень короткого вызова ajax вы можете попробовать следующий код в качестве альтернативы, если хотите.
$.get('URL');