我的问题的简化版本:
这是一个名为example.html的javascript示例,它写入javascript数组的内容。
<html>
<head>
<script type="text/JavaScript">
// javascript array called data
data=[
[1,2],[3,4],[5,6]
]
function WriteText(){
for(var i=0;i<3;i++) document.write(data[i],"<br> ")
}
WriteText();
</script>
</head>
</html>
这些值不是数组,而是写在example.html所在的同一服务器目录中的file.txt列中。 file.txt看起来像
1 2
3 4
5 6
我想通过使用php读取此文件并将其传递给javascript来完成与上述示例相同的功能。
file.txt是一个日志文件,每隔几秒钟就会附加一个新值
因此,当添加新值时,我希望看到更改已更新到屏幕。
这是读取文件的getfile.php函数。
<?php
$values = array();
foreach(file("file.txt") as $line => $content) {
$values[$line] = explode(' ',$content);
}
echo json_encode($values)
?>
这是执行此操作的代码。
<html>
<head>
<script type="text/javascript" src="jquery-1.5.2.js"></script>
<script type="text/javascript">
function WriteText(InputData){
for(var i=0;i<InputData.length;i++) document.write(InputData[i],"<br> ")
}
//WriteText(data);
setInterval($.get("getfile.php", { "func": "doSomething" },WriteText , "json"),1000);
</script>
</head>
</html>
我有这个主意
http://api.jquery.com/jQuery.get/
此代码显示file.txt。但是,当我手动将新值附加到file.txt时,浏览器中没有更新。如果我手动刷新页面,则也会显示新值。
那我在做什么错?
是php脚本还是可能我没有正确使用setInterval()
。
谢谢。
参考方案
尽管我建议循环使用onSuccess而不是盲目轮询,但问题是您尚未为setInterval创建适当的闭包:
setInterval(function(){
$.get('getFile.php',{},WriteText,'json');
},1000);
PHP-复选框组 - php我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…
php Singleton类实例将在多个会话中保留吗? - php举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…
当使用jquery的id做某事时,id可以来自任何一种标记吗? - php我是JQuery的新手,我正尝试使用PHP,HTML和JQuery编写代码。我想用具有ID的标签替换HTML中的所有<?php echo $var; ?>。例如,我想使用<div id="name"></div>之类的东西,然后使用$("#name")将其显示在该div字段中。我的问…
PHP中奇怪的sprintf行为 - php我试图做sprintf("<%s>", "Sat");,但是什么也没出现。当您删除小于符号时,它将再次开始工作。任何人都经历过这种行为以及是否会发生这种情况?因为我认为这是一个错误。您甚至可以在这里使用printf .....获得相同的结果。http://writecodeonline.com/php/ 参…
jQuery不起作用 - php我正在使用带有ajax的jquery。有时,给出错误$未定义。这是我的代码:<script language="javascript" type="text/javascript"> var base_path="<? echo $this->baseUrl().'/…