Ajax(jquery)vs php重定向的想法?

Ada*_*son 2 php jquery redirect

在我把丑陋的东西扔在一起之前,我认为这对问专家来说是个好人.

所以我有一个用户可以点击的按钮:

a)将一个变量从元素传递给一个jquery函数并发布到一个像这样的PHP脚本(这很好,虽然可能有一个更简单的方法):

$(".complete_btn").live("click", function(){
    var fooString= this.id;                                 
    var fooSplit= fooString.split("-");
    var fooId= fooSplit[1];
        $.ajax({
            type: "POST",
            url: "http://localhost/foo/php/complete_foo.php",
            data: "fooId="+fooId,
            success: function() {
                }
            });
})
Run Code Online (Sandbox Code Playgroud)

b)PHP脚本获取变量,stips/trims/escapes/whatever,检查权限,取消设置会话并创建一个新的(也可以正常工作):

if(isset($_SESSION['foo_id']))
                    unset($_SESSION['foo_id']); 
                    session_start();
                    $_SESSION['foo_id'] = $foo_id_posted;
                    header ("Location: http://localhost/foo/reviewfoo.php");
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我不能只使用标题转发到我的页面,因为我是通过ajax发布的.相反,功能拉get的的HTTP://localhost/foo/reviewfoo.php,这并没有什么好处.

有人可以提供一些指导,说明这可能是最好的方法吗?我有一些草率的想法,但我希望有人能给我一个关于我做这个的正确方法的想法.

kar*_*m79 7

在您的ajax调用的成功函数中,您可以重定向用户:

success: function() {
             window.location.href = 'http://localhost/foo/reviewfoo.php';
         }
Run Code Online (Sandbox Code Playgroud)

或者,如果用户无论如何都要重定向,只需提交一个非ajaxy表单.