如何从Javascript调用PHP函数(理想情况下没有AJAX)
我真的不太了解AJAX。。问题就在这里 我正在读取PHP函数中填充一些全局变量的数据库,我可以访问这些变量,但我需要定期调用PHP函数如何从Javascript调用PHP函数(理想情况下没有AJAX),javascript,php,html,Javascript,Php,Html,我真的不太了解AJAX。。问题就在这里 我正在读取PHP函数中填充一些全局变量的数据库,我可以访问这些变量,但我需要定期调用PHP函数 <?php function thatIwant() { //read database return 10; } echo(" <script> function refreshDiv() { //// this is where I need to call the above function. v
<?php
function thatIwant()
{
//read database
return 10;
}
echo("
<script>
function refreshDiv()
{
//// this is where I need to call the above function.
var refresher = setTimeout('refreshDiv()', 2000);
}
</script>
");
?>
如果不使用XmlHttpRequest,就不能定期从Javascript调用PHP函数。PHP在第一次请求页面时执行。使用XHR,您可以执行以下操作:
function refreshDiv() {
setTimeout(function() {
var xhr = new XmlHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
document.getElementById("refreshDiv").innerHTML =
xhr.responseText;
}
};
xhttp.open("GET", "yourPHPEndpoint.php", true);
xhttp.send();
}, 1000);
}
这将允许您连续查询PHP文件,并使用查询结果更新div的内容。这也可以通过jQuery与$一起完成。ajax
或$。get
您必须使用ajax。客户端代码不能调用服务器端代码,除非通过HTTP请求。“我真的不太了解AJAX。”此外,使用字符串参数调用setTimeout
是一种糟糕的做法。使用函数引用:var refresher=setTimout(refreshDiv,2000)代码>谢谢-上面的代码是否可以像JS中的任何其他函数一样使用。@SamBrown只需将其添加到
块中即可。当它起作用时,一定要接受答案。希望这是有帮助的!如何在函数refreshDiv()中使用上述代码?yourDiv在函数中的作用是什么code@SamBrown您不需要这样做,但可以将其复制到refreshDiv
。不过,请确保只调用它一次,因为它正在创建一个超时,每秒会自动触发一次。