代码之家  ›  专栏  ›  技术社区  ›  st4ck0v3rfl0w

PHP+jQuery-如何在成功时形成提交、处理和重定向?

  •  1
  • st4ck0v3rfl0w  · 技术社区  · 14 年前

    愚蠢的问题(我似乎用这个短语来引导我的所有问题),但我想知道是否有人有一个优雅的解决方案,通过php和jquery处理表单,然后重定向

    --&燃气轮机; 通过jquery post提交到 --&燃气轮机; [PHP文件] --&燃气轮机; 成功后重定向到 --&燃气轮机; (如果不成功,返回到[HTML表单]

    HTML表单示例

    <form action="procRegister.php" method ="post" id="registerAccount" name="registerAccount">
    ...fields here ladeeda...
    </form>
    

    $("form#registerAccount").submit(function(){
        $.post(
            "procRegister.php",
            $("form#registerAccount").serialize(),
            function(data){alert(data.msg);}, 
            'json'
               );   
        return false;
    });
    

    PHP处理示例

    <?php
        header('Content-type: application/json');
        $return['msg'] = 'Alright!';
        echo json_encode($return);
    ?>
    

    如果一切正常,那么页面会弹出一个警告框,说“好的!”。现在,我将如何以及在何处实现成功后的重定向?i、 e.不发送“好的”,我如何将用户重定向到确认页?

    1 回复  |  直到 12 年前
        1
  •  1
  •   Joseph Paterson    14 年前

    你能用javascript把用户重定向到成功/失败页面吗?

    window.location = <url>
    

    如果您需要某种令牌来访问您的success页面,您可以在proclegister.php页面返回的JSON中传递URL:

    function(data) {
        if (data.validated) { 
            window.location = data.successURL; 
        } else { 
            window.location = data.failureURL; 
        }
    }