2010-07-20 82 views
1

愚蠢的问题(我似乎是导致我所有的问题用这个词),但我想知道是否有任何人有对通过PHP和jQuery处理形成一个优雅的解决方案,然后重定向PHP + jQuery - 如何形成提交,处理和重定向成功?

[HTML表单] - >通过jQuery后提交给 - >[PHP文件] - > 成功时重定向到 - >[SUCCESS HTML PAGE](如果没有成功返回到[HTML FORM]

HTML FORM例如

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

JQUERY POST例如

$("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); 
?> 

如果一切工作正常,那么页面会弹出一个警告框,说“好吧!”。现在,我将如何以及在何处成功实施重定向?即,而不是发送“好吧”我将如何重定向用户,比如说一个CONFIRMATION页面?

+0

只是快速的副作用问题 - 你为什么不使用旧的,基本的,传统的方式处理表单提交的任何原因?如果一切顺利,则可以更简单地重定向到成功页面,或者在出现错误时返回到表单页面。如果javascript被关闭, – 2010-07-20 04:51:47

回答

1

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

window.location = <url> 

如果你需要某种形式的令牌来访问你的成功页你可能将URL传递回由您procRegister.php页面返回的JSON:

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

会受到这种影响吗? – st4ck0v3rfl0w 2010-07-20 04:56:32

+0

如果Javascript被禁用,JQuery将无法完全停止。 – 2010-07-20 05:56:22