заменить документ с результатами AJAX - PullRequest
0 голосов
/ 27 апреля 2011

У меня есть форма, которая отправляется в скрипт, выполнение которого может занять много времени (~ 30-60 секунд, дать или взять).Я хотел бы иметь счетчик, который показывает, что результаты обрабатываются, пока пользователь ждет.Обычно я вставляю счетчик в сценарий обработки и покончу с ним, но у меня нет доступа к сценарию.Есть ли способ использовать js / jQuery для отправки запроса AJAX, а затем загрузить целевую страницу после завершения обработки?Что-то вроде этого - то, что я хочу:

<script type="text/javascript">
    $(function() {
        $("#myForm").submit(function () {
            var data = $(this).serialize();
            $.post("url/to/script.php", data, function (results) {
                // replace this entire document, url included, with the results
            });
            $("#spinner").hide().ajaxStart(function () {
                $(this).show();
            }).ajaxStop(function () {
                $(this).hide();
            });
        });
    });
</script>

Я также открыт для альтернативных идей.

[править]

Чтобы (надеюсь) уточнить: я хочурезультаты загружать в фоновом режиме и переходить к ним только после их завершения.Поведение (за исключением счетчика) не должно отличаться от конечного пользователя от отправки формы без использования javascript.

[edit 2]

Мне удалось убедить владельцацелевой скрипт для установки счетчика, поэтому вопрос теперь академический.

1 Ответ

1 голос
/ 27 апреля 2011

Если я вас правильно понимаю ... вы не можете заменить URL-адрес на JavaScript.Можете ли вы не просто window.location.href = "your-new-url.com" об успехе ajax?

Если вы не можете этого сделать, вы можете опубликовать полученные данные из запроса ajaxновый URL и просто заставьте эту страницу выплюнуть ваш результат.

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