在我的一个页面上,我有“tracking.php”向另一台服务器发出请求,如果在Firebug Net面板中跟踪成功,我会看到响应trackingFinished();
有没有一种简单的方法(内置函数)来完成这样的事情:
If ("tracking.php" responded "trackingFinished();") { *redirect*... }
的Javascript? PHP?什么?
问题是,这个“tracking.php”还会创建浏览器和Flash Cookie(然后以trackfinished()响应;当它们被创建时)。我有一个JS做了类似的事情:
If ("MyCookie" is created) { *redirect*... }
它有效,但是如果你以前在浏览器中有MyCookie,它只是在“track.php”有时间创建新cookie之前重定向,所以旧的cookie没有被覆盖(我正在努力完成) )在重定向之前......
我想到的解决方案是在trackingFinished()之后重定向;得到回应......
答案 0 :(得分:0)
我认为javascript中更好的形式可以从一个页面到另一个页面发出请求,而不需要先使用ajax方法,而这一个jQuery使它变得如此简单,你只需要使用ajax函数,并传递一些参数:
$.post(url, {parameter1: parameter1value, param2: param2value})
你可以连接一些动作:
$.post().done(function(){}).fail(function(){})
并且不是ajax,您可以使用更简单的$.post,并使用完成和失败方法来评估已获取信息的成功
答案 1 :(得分: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。