PHP代码只在javascript setInterval中运行一次
PHP code only runs once inside javascript setInterval
我只是在一个JC类学习PHP和Javascript。我为学校的一个项目准备了以下材料。下面的setInterval()
每3秒运行一次,但是嵌入的PHP代码只运行第一次。
。newVal
第一次更新,但在接下来的迭代中不改变它的值。脚本永远不会返回到服务器来查找值是否更改。
setInterval(function () {
var newVal, mem;
<?php $telnet = new PHPTelnet();?>;
<?php $result = $telnet->Connect('ip_address','username','password');?>;
<?php $telnet->DoCommand('show process memory summary"', $result);?>;
<?php $result = preg_replace('/['r'n ]+/',' ', trim($result)); ?>;
newVal = "<?php echo substr($result,61,7) ?>";
newVal = newVal / 10000;
mem.update(newVal);
}, 3000);
感谢下面的一些回答/评论,我是这样做的:
Javascript
setInterval(function () {
$.get("memAccess.php", function(return_value) {
mem.update(parseFloat(return_value));
});
}, 3000);
单独的PHP文件
<?php
$telnet = new PHPTelnet();
$result = $telnet->Connect('ip_address','username','password');
$telnet->DoCommand('show process memory summary', $result);
$result = preg_replace('/['r'n ]+/',' ', trim($result));
$result = substr($result,61,7);
echo $result;
$telnet->Disconnect();
exit();
?>
基本上当你在javascript中编写php代码时,它总是在页面加载时运行一次。在此之后,您只需向浏览器编写php代码,这根本无法理解(php在服务器上处理,输出是浏览器可以解释的Html, Css和Javascript)
所以,如果你需要从服务器更新数据而不重新加载页面,唯一的方法就是使用Ajax请求,它基本上连接到页面内的服务器并从中获取数据。
关于Ajax的更多信息:Ajax基础
相关文章:
- 使用每500ms运行一次的jquery函数是个好主意吗
- For循环在Jquery中只运行一次
- 谷歌图表在运行应用程序时只能显示一次
- 使函数只运行一次(Javascript)
- 更改路由后,运行一次js脚本
- 只运行一次提取的脚本
- 可能只在for循环内部运行一次代码块
- 在单击事件中,第一次单击时激发代码一次,其余代码在所有单击时运行
- 在Flask中使用.getJSON请求时,只运行一次命令
- 运行“;非“;单击另一个函数中的函数仅一次
- JavaScript只有在最后一次被调用时才运行函数
- 数据互绑定问题:转换器只运行一次,无法绑定元素的 ID
- 您可以在节点.js上一次运行多个应用程序吗?
- 如何一次运行一次循环javascript
- 从命令行一次运行大量摩卡测试的好方法是什么
- 如何让 JavaScript 一次运行一个字符串
- 无法在一次运行中删除多个数组元素
- 如何使jquery函数一次运行一个
- 在一次运行中分配并返回一个变量
- 一次运行2个动画