如果服务器响应特定的东西,则运行(JS)函数

时间:2013-09-24 13:51:39

标签: javascript php cookies response

在我的一个页面上,我有“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()之后重定向;得到回应......

2 个答案:

答案 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。