0

在我的一个页面上,我有“tracking.php”向另一台服务器发出请求,如果在 Firebug Net 面板中跟踪成功,我会看到响应trackingFinished();

有没有一种简单的方法(内置函数)来完成这样的事情:

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

Javascript?php?任何事物?

问题是,这个“tracking.php”还创建了浏览器和 Flash cookie(然后在创建时使用 trackingfinished(); 进行响应)。我有一个 JS 做了这样的事情:

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

它有效,但是如果您之前在浏览器中使用了 MyCookie,它只是在“track.php”有时间创建新 cookie 之前重定向,因此旧 cookie 在重定向...

我想到的解决方案是在 trackingFinished(); 之后重定向。被回应了……

4

2 回答 2

0

I think the better form in javascript to make request from one page to another, without leaving the first is with the ajax method, and this one jQuery make it so easy, you only have to use the ajax function, and pass a little parameters:

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

And you can concatenate some actions:

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

And isntead of the ajax, you can use the $.post that is more easy, and use the done and fail method to evaluate the succes of the information recived

于 2013-09-24T14:05:12.030 回答
0

如上所述,AJAX 是在这样的页面之间进行通信的最佳方式。以下是对您的 track.php 页面的 AJAX 请求的示例。它使用success函数来查看track.php是否返回'trackingFinished();'。如果确实如此,那么它将重定向页面'redirect.php':

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

该示例使用 JQuery。

于 2013-09-24T14:08:05.290 回答