Вызов алерта после редиректа

229
21 июля 2019, 01:00

У меня есть форма на которой выполняется ajax запрос, в итоге выполнения происходит перенаправление на другую страницу. $(location).attr('href', result.url); При моих попытка вызвать этот alert сразу же после $(location).attr('href', result.url); или например в ajaxstop но всё равно быстро моргает окно алерта и после сразу же идёт перенаправление. А как сделать так что бы перенаправилась страница, а потом только вызвался алерт и не пропадал, как и должно быть если б я вызвал его без перенаправления.

Answer 1

При перенаправлении загружаемая страница не знает ничего о том, что ей необходимо что-то отображать. Для решения Вашей задачи необходимо передать параметры целевой странице:

// перенаправление
window.location.href = redirectUrl + '?alert=1&alertMessage=This+is+simple+message'
// на целевой странице
// https://stackoverflow.com/a/901144/3129992
function getUrlParameterByName(name, url) {
    if (!url) {
        url = window.location.href;
    }
    name = name.replace(/[\[\]]/g, '\\$&');
    var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
        results = regex.exec(url);
    if (!results) {
        return null;
    }
    if (!results[2]) {
        return '';
    }
    return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
window.addEventListener("load", function() {
    if(getUrlParameterByName('alert')){
        var msg = getUrlParameterByName('alertMessage');
        alert(msg);
    }
});
READ ALSO
C# прокси сервер авторизация

C# прокси сервер авторизация

в приложение есть форма где заполняется хост,порт, логин и пароль

184
Запись данных PHP в файл txt

Запись данных PHP в файл txt

Есть чекбоксы (их порядка 50 штук), которые передают данные в php файл, и эти данные нужно сохранить, я что то наковырял, и получается что после...

150
Выборка из двух таблиц с суммированием столбца

Выборка из двух таблиц с суммированием столбца

Есть таблица clients и transactionsВ обеих таблицах есть столбец client_id

128
Сравнить даты PHP

Сравнить даты PHP

Но при сравнении 0000-00-00 и 2019-01-03 выдает success=1 Смотрел в соседних темах, ничего не понял :(

125