jQuery帖子是重定向页面

时间:2014-11-09 18:49:27

标签: jquery

今天我学到了一些jQuery。

<script>    
$('#mc-embedded-subscribe-form').on('submit', function(e){
e.preventDefault();
email=document.mc-embedded-subscribe-form.EMAIL.value;
$.post( "email.php", {email});
$('#fadeout').fadeOut(500);
$('#fadein').delay(500).fadeIn(500);
});
</script>

这是我在用户提交表单时运行的脚本。我遇到的问题是,一旦表单提交,我就会被重定向到email.php,而我想留在初始网页上。如果我删除该行

$.post( "email.php", {email});

其余的按预期工作。 email.php工作正常,它只是保存电子邮件。我该怎么做才能停止重定向?

2 个答案:

答案 0 :(得分:1)

由于$.post()行中出现错误,因此e.preventDefault()未启动。请将代码编辑为以下内容:

$('#mc-embedded-subscribe-form').on('submit', function(e){
    e.preventDefault();
    email = $('[name=EMAIL]',this).val();
    $.post( "email.php", {email:email}, function() {
        $('#fadeout').fadeOut(500);
        $('#fadein').delay(500).fadeIn(500);
    });
});

答案 1 :(得分:1)

如果你想从客户端向服务器发布特定值,而不是使用$ .ajax方法,那么$ .post即:

<script>    

    $('#mc-embedded-subscribe-form').on('submit', function(e){
    e.preventDefault();
    email=document.mc-embedded-subscribe-form.EMAIL.value;
    $.ajax({

        url:"email.php";
        data: email;
        success:function(){
           $('#fadeout').fadeOut(500);
           $('#fadein').delay(500).fadeIn(500);
        }

    });

});
</script>

$ .ajax将特定值或值发布到服务器端而不重定向页面。