2013-09-24 29 views
0

在我的網頁我有「tracking.php」,使到另一臺服務器的請求,如果跟蹤在Firebug淨面板SUCESSFUL我看到響應trackingFinished();運行(JS)功能服務器迴應的東西speciffic

有沒有一種簡單的方法(內置函數)來完成這樣的事情:

If ("tracking.php" responded "trackingFinished();") { *redirect*... } 

的Javascript? PHP?什麼?

問題是,這個「tracking.php」也會創建瀏覽器和flash cookies(然後在創建時會跟蹤trackingfinished();)。我有一個JS是做了這樣的事情:

If ("MyCookie" is created) { *redirect*... } 

它的工作,但如果您在您的瀏覽器收到了的myCookie,它「track.php」之前只是重定向必須創建新的餅乾的時候,所以老在重定向之前cookies沒有被覆蓋(我試圖完成)...

我想到的解決方案是在trackingFinished()後重定向。被迴應...

+0

只需檢查響應主體以獲取'trackingFinished();'或者它可能是在標題中發送的。 – mic

回答

0

我認爲JavaScript中的更好的形式,使從一個頁面到另一個請求,而不離開第一個是用ajax方法,這一個jQuery使它很容易,你只需要使用ajax功能,並通過一個小的參數:

$.post(url, {parameter1: parameter1value, param2: param2value}) 

而且你可以連接一些動作:

$.post().done(function(){}).fail(function(){}) 

而阿賈克斯isntead,您可以使用$.post是比較容易的,並使用DONE和失敗的方法來評估已收到信息的成功

0

如上所述,AJAX是在這樣的頁面之間進行通信的最佳方式。以下是track.php頁面的AJAX請求示例。它使用成功函數來查看track.php是否返回'trackingFinished();'。如果確實如此,它會重定向頁面'redirect.php':

$.ajax({ 
    url: "track.php", 
    dataType: "text", 
    success: function(data){ 
     if(data === 'trackingFinished();'){ 
      document.location = 'redirect.php'; 
     } 
    } 
}); 

該示例使用JQuery。

相關問題