0

我正在使用此代码调用 javascript 函数,然后重定向 PHP 页面。

<script type='text/javascript'>

mixpanel.track('login: Login ', {'page name' : document.title, 'url' : window.location.pathname});
</script>;  

<?php
        header("Location:".$domain_name."/services.htm");

?>

但是这段代码不起作用,如果我不重定向,那么 js 函数可以正常工作。

我也尝试过ob_start();ob_end_flush(); 但没有任何效果。如何在重定向之前使用 JS 函数。我是 JavaScript 和 PHP 标头函数的新手。

4

3 回答 3

3

PHP 在服务器上运行,而 JavaScript 在浏览器中运行。你不能像那样把它们混合在一起。

您需要做的是使用 JavaScript 而不是 PHP 进行重定向。

<script type='text/javascript'>
    mixpanel.track('login: Login ', {'page name' : document.title, 'url' : window.location.pathname});
    window.location = '<?=$domain_name?>/services.htm';
</script>

更新:重定向在mixpanel.track完成之前触发。您需要将一个函数传递给回调docs,以便它在完成后运行。

<script type='text/javascript'>
    mixpanel.track('login: Login ', {
        'page name': document.title,
        'url': window.location.pathname
    }, function(){
        window.location = '<?=$domain_name?>/services.htm';
    });
</script>
于 2012-08-29T14:39:07.280 回答
1

您也应该使用 javascript 转发您的用户。就像是window.location = '<?php echo $domain_name ?>/services.htm';

于 2012-08-29T14:38:36.153 回答
-1

使用函数后,您可以使用 Javascript 本身进行重定向:

window.location = 'http://www.example.com';

或者,您可以使用基于Ajax的解决方案;但它必须与 相结合window.location,其中位置由 ajax 调用的 php 脚本给出。

于 2012-08-29T14:37:51.867 回答