重定向后在目标页面上显示通知

时间:2012-07-11 07:42:23

标签: jquery ajax redirect notifications

假设我在add-project.html页面上有一个表单。请求完成后,我将用户重定向回主index.html页面。

我想要做的是在用户成功提交表单时在index.html 上显示通知。

我正在使用此插件发送通知:http://redeyeoperations.com/plugins/Notify/

目前,我正在使用一个临时解决方案,在表单提交后在add-project.html上显示通知,然后在index.html之后重定向到主setTimeout页面,但我不知道不喜欢它,它很脏。

$('#printForm').submit(function(e) {
    e.preventDefault();
    $.ajax({
        type: 'POST',
        url: 'add-project.php',
        data: $('#printForm').serialize(),
        success: function(result) {
            if(result == '1') {
                // Success
                $.notify.basic('Congratulations, your projet has been saved correctly', {
                    occupySpace : true,
                    close : true,
                    autoClose: 5000
                });

                setTimeout(function() {
                    window.location.href = '../index.html';
                }, 2000);
            }
            else {
                // Error
                $.notify.error('Oops, something went wrong ! Make sure you filled all the necessary fields', {
                    occupySpace : true,
                    close : true,
                    autoClose: 5000
                });
            }
        }
    });         
});

重定向后,是否有一种干净的方式在目标页面上显示通知?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

index.html需要某种方式来知道表单已发送。您可以使用url参数或哈希并使用js读取它。

//after submit
window.location.href = '../index.html#success';

//in index.html
if(window.location.hash == '#success')
{
    //show the notification
}