如何使用AJAX读取实时流数据

时间:2011-11-09 15:00:30

标签: javascript ajax html5

我想从我的URL读取实时流数据(ie.http:// ..) 我的URL(ie.http:// ..)包含数字数据,并且它不断增长。 我想将数据读入我的文件(HTML5和JavaScript)。       我使用AJAX完成了静态数值数据。 但同时使用动态数据(实时流数据)。我无法获得responseText()。 是否可以获取包含实时流数据的URL(ie.http:// ..)的responseText()? 我怎么能这样做? 我的读取静态数据的代码是

<!DOCTYPE HTML>
<html>
<head>    

<script type="text/javascript">
  function accessWebservice()
    {           
        var xmlhttp;
        xmlhttp = new XMLHttpRequest();

 //xmlhttp.open("get","http://192.168.15.174/Streamer/StartStream.aspx?IsTestData=true",true);   
 //above URL contains live streaming numberic data that i want to read
 //But when i am using above URL i am not getting responseText (**How to get it?**)
  xmlhttp.open("get","http://localhost/StaticDemoData.txt",true);   //This contains static data
        xmlhttp.onreadystatechange=function() {
         if (xmlhttp.readyState==4)
         {
             if (xmlhttp.status == 200 )
              {
                 var responseData=xmlhttp.responseText;
           alert(responseData);
              }
             else
             {
                 alert("Server returned: " + xmlhttp.status);
             }
         }
        }

        xmlhttp.send(null);
    }
</script>
</head>

如何获取实时流式数字数据的'xmlhttp.responseText'?

2 个答案:

答案 0 :(得分:2)

如果您检查xmlhttp.readyState == 3(XMLHttpRequest.LOADING),则访问xmlhttp.responseText将为您提供到目前为止从您的服务器收到的数据。然后,您可以使用setInterval不断检查xmlhttp.responseText是否有新数据。

答案 1 :(得分:1)

尝试使用此脚本来获取数据流...但您需要在目录中使用jquery.js文件,并且您可以使用.php扩展名中的其他文件更改StaticDemoData.txt并获取文件上的查询

<html>
<head>
<script type="text/javascript" src="jquery-1.5.1.js"></script>

<script type="text/javascript">
$(document).ready(function(){
  userdetails();
});


function userdetails(){
     $.post('StaticDemoData.txt',function(data){
         $('.result').html(data);
       });     

       setTimeout("userdetails()",1000);
}

</script>
</head>
<body>
<div class="result"></div>
</body>
</html>