使用AJAX和PHP从源自文本文件

时间:2015-08-10 19:59:48

标签: javascript php jquery html ajax

我有一个页面可以从文本文件中获取信息,并以类似于下面显示的方式将其发布到表中。 javascript函数getIV()就是这样做的。

Tag Name    Value   Alarm Status    Alarm Type
Valve_Temp  45      0               0

页面上的信息最初设置为每秒通过meta标记进行刷新,这不是理想的,但暂时是可以容忍的。现在我们将开始在页面中包含图表,因此使用meta标记刷新页面是不可能的,因为图表将动态更新。

我使用这个javascript函数从原始文本文件中获取了标记信息。

<!--Get Tag Information-->
<SCRIPT LANGUAGE="JavaScript">
function getIV()
{
    AlStatusArray = new Array("No  alarm","Pretrigger","ALARM","Acknowledged","ReturnToNormal");
    AlTypeArray = new Array("None","High","Low","Level","High High","Low Low");

    IVList = new String();
    IVList = document.IVForm.fileIV.value;
    IVArray = IVList.split("\n");
    IVNum = IVArray.length;
    //alert(IVNum);

  IVLine = new String();
  for(i=1;i<IVNum-1;i++)
  {
        IVLine = IVArray[i];
        IVToken = IVLine.split(";");
        TagName = IVToken[1].replace(/(\")/g,"");
        Value = parseFloat(IVToken[2]);
        AlStatus = parseInt(IVToken[3]);
        AlType = parseInt(IVToken[4]);
    document.write("<tr><td>"+TagName+"</td><td>"+Value+"</td><td>"+AlStatusArray[AlStatus]+"</td><td>"+AlTypeArray[AlType]+"</td></tr>");
    }       
}
</SCRIPT>

这是包含表格的HTML

&#13;
&#13;
<div id="auto">
    <table class="txt">
      <tr align="left"> 
        <th width="200">Tag Name</th>
        <th width="200">Value</th>
        <th width="200">Alarm Status</th>
        <th width="200">Alarm Type</th>
      </tr>
      <script>getIV();</script>
    </table>
    </div>
&#13;
&#13;
&#13;

这是新内容开始的地方

我想使用此AJAX调用来更新表值。我使用一个随机数生成函数的PHP文件测试了这个调用,它运行良好。

<!--auto refresh div-->
<script>
 $(document).ready(function() {
     $("#auto").load("load.php");
   var refreshId = setInterval(function() {
      $("#auto").load('load.php');
   }, 1000);
   $.ajaxSetup({ cache: false });
});
</script>

这就是我的麻烦

和这个php脚本来抓取文件。

<?php
$file = file_get_contents('../logs/Logfile.txt', true);
echo $file;
?>

因为当我从文本文件中获取新信息时,它不会以任何方式解析信息不会像它应该那样显示在图表中。我试图将javascript函数getIV()放入PHP文件中,但它不起作用。

问题:

有没有办法使用这样的方法刷新div?或者有另一种方法可以做到这一点吗?

0 个答案:

没有答案