2009-09-02 124 views
2

在我把一些丑陋的东西扔在一起之前,我认为这是一个很好的问专家。Ajax(jQuery)vs php重定向的想法?

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

一)传递从元件到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() { 
       } 
      }); 
}) 

b)在PHP脚本采用变量,高新区/装饰/逃逸/不管,检查权限和清除一个会话,并创建一个新的(也能正常工作):

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

我遇到的问题是,因为我通过ajax发布了这个消息,所以我不能只使用头部转发到我的页面。相反,这个函数会拉动http://localhost/foo/reviewfoo.phpget,这没有任何好处。

有人可以提供一些指导什么可能是最好的方式来做到这一点?我有一些草率的想法,但是我希望有人能够给我一个关于我是怎样做到这一点的正确方法的想法。

回答

7

在你的Ajax调用成功功能,你可以将用户重定向:

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

或者,如果用户将被重定向反正,只是做一个非ajaxy表单提交。

+0

雅,这是对的。 – 2009-09-02 02:10:47