在javascript刷新中调用php函数

时间:2011-11-04 14:36:15

标签: javascript

我在javascript中有这个简单的功能,可以在设定的时间后刷新页面。

function AutoRefresh( t ) {
    setTimeout("location.reload(true);", t);
}

现在每次刷新后,我都希望它调用PHP函数,例如:

function writeName()
{
echo "Refresh me";
}

每次刷新后都可以在JavaScript中调用PHP函数吗? 感谢

2 个答案:

答案 0 :(得分:1)

我担心答案是否定的。当JavaScript在您的页面上运行时,服务器端(PHP)已经完成处理。最好的办法是在页面加载之前完成所需的工作,或者仅使用JavaScript完成它。

答案 1 :(得分:0)

如果您正在刷新页面,那么您正在从服务器上有效地重新加载它,因此任何“onload”事件都会再次触发。该页面将从头开始再次呈现。如果您愿意,可以在某些“onload”Javascript侦听器中使用AJAX调用PHP脚本。例如与JQuery:

 <html>
<head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <script type="text/javascript">

    $(document).ready( function () {

        setTimeout("location.reload(true);", 2000);

        $.get('home.html', function(ret){
            $('body').html(ret);
        });

    });

    </script>
    </head>
    <body>
        <h1>Test</h1>

    </body>
    </html>

谨防递归调用setTimeout(),因为它可以使页面随着时间的推移而无响应。您可能会发现这很有用:

http://www.erichynds.com/javascript/a-recursive-settimeout-pattern/