2009-09-02 121 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