2013-12-23 1 views
2

Я хочу собирать статистику по гиперссылке, но перенаправлять, не дожидаясь медленного ответа AJAX. Возможно ли одновременное перенаправление и отправку и запрос AJAX без ожидания ответа на запрос AJAX? Поскольку у меня есть window.location.replace() после $.post(), иногда выполняется вызов AJAX, а иногда нет.Возможно ли одновременное перенаправление и отправку и запрос AJAX без ожидания ответа на запрос AJAX?

+0

Можете ли вы разместить код? Он должен работать, если он до изменения URL. Вам не нужно ждать ответа, чтобы что-то произошло. – Leeish

+0

@ Leeish Для этого нет никаких гарантий. – Brad

+0

Я подумывал положить короткий тайм-аут или изменение страницы на 'ajaxStart'. Если вы перенаправите его после его запуска, вы должны быть хорошими. Как вы сказали, хотя, не дожидаясь ответа, вы открываете себя для провала. – Leeish

ответ

-1

Конечно, это так, но если вы не ждете ответа, как вы знаете, что запрос полностью завершен?

Как вы уже видели, fire-and-forget-and-right-redirect сбрасывает все объекты и запросы, которые в настоящее время выполняются для текущего контекста страницы. Поскольку браузер не обнаруживает каких-либо базовых привязок TCP, чтобы знать, что данные были отправлены, если вам нужно убедиться, что действительно отправленный запрос, вам нужно дождаться ответа с сервера.

+0

Даунвитировать без объяснений? Зачем? Это правильный ответ на вопрос. – Brad

+0

Не знаете, кто это сделал, но опять же, как насчет перенаправления на ajaxstart? Будет ли это гарантировать, что запрос был отправлен? – Leeish

+0

@leeish Это событие вызывается, когда запрос начинается, но нет гарантии, что запрос будет завершен. – Brad

0

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

Если вы используете javascript для перенаправления, используя window.location.href после того, как вы сделаете запрос ajax, он может перенаправить, не дожидаясь ответа на запрос ajax.

Смежные вопросы