Подтвердить что ты не робот

Пожар односторонний вызов ajax

У меня есть служба 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()), что никакой ответ не поступит, или это не имеет значения?

4b9b3361

Ответ 1

Только время, которое имеет значение, - это если запрос на сервер не завершен. Вы должны проверить, чтобы до выхода из системы было установлено значение readyState 2 [aka sent].

Ответ 2

Я бы просто выполнил вызов без обратного вызова, я не верю, что есть свойство, которое допускает метод F & F.

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

$.get('URL');