我在javascript中有这个简单的功能,可以在设定的时间后刷新页面。
function AutoRefresh( t ) {
setTimeout("location.reload(true);", t);
}
现在每次刷新后,我都希望它调用PHP函数,例如:
function writeName()
{
echo "Refresh me";
}
每次刷新后都可以在JavaScript中调用PHP函数吗? 感谢
答案 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/