2010-07-20 61 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